AWS命令行界面(CLI)是一个集中式管理工具,用于管理AWS服务。通过CLI,用户可以手动控制服务或使用强大的脚本来自动化它们。这个工具可以从命令行处理多个AWS服务。用户可以使用AWS CLI进行临时操作,比如在DynamoDB中创建、删除、描述表和其他功能。CLI提供了对AWS公共服务API的访问,并为多个服务提供定制化。本文将介绍如何通过AWS CLI管理AWSNoSQL数据库DynamoDB,包括创建和管理DynamoDB表。
Amazon DynamoDB是AWS提供的完全托管的NoSQL数据库服务,最适合用于对大型数据集进行高性能查询。它为所有应用程序提供一致且快速的性能,无需担心停机或性能下降。DynamoDB的主要特点包括自动分区和基于SSD的存储、无需担心数据库的补丁和更新、支持跨区域复制以实现全球数据访问、提供按需备份功能,支持长期保留和归档。
DynamoDB的使用案例包括:
要使用CLI在DynamoDB中创建和管理表,用户需要遵循以下步骤:
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命令,并提供四个参数:
让根据以下细节创建一个表:
基于以上细节创建表的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”,最后点击“表”查看创建的表。
aws dynamodb list-tables
aws dynamodb describe-table --table-name Employee_Data
aws dynamodb delete-table --table-name Employee_Data
aws dynamodb create-backup --table-name Employee_Data --backup-name Employee_Data-backup-$(date +"%m-%d-%Y")
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
aws dynamodb scan --table-name Employee_Data
aws dynamodb delete-item --table-name Employee_Data --key '{"Emp_Id": {"S": "111"}}'