使用AWS CLI管理DynamoDB

AWS命令行界面(CLI)是一个集中式管理工具,用于管理AWS服务。通过CLI,用户可以手动控制服务或使用强大的脚本来自动化它们。这个工具可以从命令行处理多个AWS服务。用户可以使用AWS CLI进行临时操作,比如在DynamoDB中创建、删除、描述表和其他功能。CLI提供了对AWS公共服务API的访问,并为多个服务提供定制化。本文将介绍如何通过AWS CLI管理AWSNoSQL数据库DynamoDB,包括创建和管理DynamoDB表。

DynamoDB概述

Amazon DynamoDB是AWS提供的完全托管的NoSQL数据库服务,最适合用于对大型数据集进行高性能查询。它为所有应用程序提供一致且快速的性能,无需担心停机或性能下降。DynamoDB的主要特点包括自动分区和基于SSD的存储、无需担心数据库的补丁和更新、支持跨区域复制以实现全球数据访问、提供按需备份功能,支持长期保留和归档。

DynamoDB的使用案例包括:

  • 分析:存储来自多个数据源的指标,如物联网传感器、Web应用程序等。生命周期(TTL)功能允许用户有效控制数据。
  • 媒体和娱乐:处理并执行复杂分析,识别客户和其他用户的喜好以及媒体和娱乐工作负载的偏好,如实时视频流和交互式内容,并为这些工作负载扩展吞吐量和并发性。
  • 在线游戏:轻松存储和维护分析数据、玩家数据、排行榜和玩家会话记录,同时提供更好的性能。

使用AWS CLI创建和管理DynamoDB表的步骤

要使用CLI在DynamoDB中创建和管理表,用户需要遵循以下步骤:

  1. AWS CLI安装
  2. 配置并设置CLI凭据
  3. 使用create-table命令在CLI中创建表
  4. 管理和维护表和属性

AWS CLI可以在Windows、macOS或Linux操作系统上安装。Amazon Linux AMI不需要手动安装,因为它的操作系统分发中已经包含了AWS CLI。以下是在Linux x86(64位)上安装AWS CLI的命令:

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install

在macOS上,首先安装Homebrew,然后使用以下命令安装AWS CLI:

brew install awscli

要验证凭据,用户可以使用以下命令:

aws sts get-caller-identity

在Windows上,可以从以下网站下载并安装最新的Windows安装包:

https://awscli.amazonaws.com/AWSCLIV2.msi

另一种安装CLI的方法是运行以下命令:

msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi

要确认CLI安装,用户可以运行以下命令:

aws --version

安装完成后,通过以下命令使用凭据进行配置:

aws configure

此命令会提示输入详细信息,包括访问密钥、秘密密钥、区域等。

要在DynamoDB中创建表,请使用create-table命令,并提供四个参数:

  • --table-name:表示用户要创建的表名。
  • --attribute-definitions:表示用户将在表和索引中使用的属性及其类型列表。
  • --key-schema:表示构成表或索引的主键的属性。
  • --billing-mode:控制用户如何为读写吞吐量付费,其值可以是PROVISIONED或PAY_PER_REQUEST。

让根据以下细节创建一个表:

  • 表名:Employee_Data
  • 属性名称:Emp_Id, Name, Salary, Department, Position
  • 范围键:Department
  • 分区键:Emp_Id
  • 计费模式:PAY_PER_REQUEST

基于以上细节创建表的CLI命令将是:

aws dynamodb create-table --table-name Employee_Data --attribute-definitions AttributeName=Emp_Id,AttributeType=S AttributeName=Name,AttributeType=S AttributeName=Salary,AttributeType=N AttributeName=Department,AttributeType=S AttributeName=Position,AttributeType=S --key-schema AttributeName=Emp_Id,KeyType=HASH AttributeName=Department,KeyType=RANGE --billing-mode PAY_PER_REQUEST

要确认表创建成功,用户可以点击AWS控制台下的“数据库”,然后选择“DynamoDB”,最后点击“表”查看创建的表。

  • 列出表:使用以下命令列出所有创建的DynamoDB表:
  • aws dynamodb list-tables
  • 描述表:使用以下命令描述DynamoDB表,它返回有关表的详细信息,包括表的键架构、预配置的WCU、RCU、表状态等:
  • aws dynamodb describe-table --table-name Employee_Data
  • 删除表:使用以下命令删除DynamoDB表:
  • aws dynamodb delete-table --table-name Employee_Data
  • 备份表:使用以下命令按需备份所有DynamoDB表数据:
  • aws dynamodb create-backup --table-name Employee_Data --backup-name Employee_Data-backup-$(date +"%m-%d-%Y")
  • 插入项目:使用以下命令向DynamoDB表插入新记录:
  • aws dynamodb put-item --table-name Employee_Data --item '{"Emp_Id": {"S": "110"}, "Name": {"S": "Teena"},"Salary": {"N": "65000"},"Department": {"S": "Sales"},"Position": {"S": "Manager"}}'
  • 获取项目:使用以下命令通过其键或键组合获取特定表项:
  • aws dynamodb get-item --table-name Employee_Data --key '{"Emp_Id": {"S": "115"}}' --consistent-read
  • 获取所有项目/扫描:使用以下命令运行扫描操作或获取DynamoDB表中的所有项目:
  • aws dynamodb scan --table-name Employee_Data
  • 删除项目:只能使用其主键使用以下命令删除表项:
  • aws dynamodb delete-item --table-name Employee_Data --key '{"Emp_Id": {"S": "111"}}'
  • AWS命令行界面(CLI)是管理AWS服务的集中式管理工具。
  • Amazon DynamoDB是AWS提供的完全托管的NoSQL数据库服务,最适合用于对大型数据集进行高性能查询。
  • 通过aws dynamodb create-table命令创建表。
  • 使用aws dynamodb describe-table命令获取有关表的一般信息。
  • 使用aws dynamodb put-item命令插入新记录。
  • aws dynamodb scan命令将获取整个表项或执行扫描操作。
  • 使用aws dynamodb delete-item命令删除表项。
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485