http://jawsug-cli.doorkeeper.jp/events/18571 でのハンズオン資料です。
AWS CLIを利用して、DynamoDBのテーブルを削除してみます。
- describe-table
- delete-table
前提条件
DynamoDBへの権限
- DynamoDBに対してフル権限があること。
AWS CLIのバージョン
以下のバージョンで動作確認済
- AWS CLI 1.7.18
- AWS CLI 1.7.7
コマンド
aws --version
結果(例)
aws-cli/1.7.18 Python/2.7.5 Darwin/13.4.0
- 準備
=======
0.1. リージョンの決定
作成するユーザのデフォルトリージョンを決めます。
(カレントユーザが利用するカレントリージョンも切り変わります。)
コマンド(東京リージョンの場合)
export AWS_DEFAULT_REGION='ap-northeast-1'
0.2. 変数の確認
プロファイルとリージョンが想定のものになっていることを確認します。
変数の確認
aws configure list
結果(例)
Name Value Type Location
---- ----- ---- --------
profile iam_full-prjZ-mbp13 env AWS_DEFAULT_PROFILE
access_key ****************LOAQ shared-credentials-file
secret_key ****************I1O1 shared-credentials-file
region ap-northeast-1 env AWS_DEFAULT_REGION
- 事前確認
===========
1.1. 変数の確認
変数の確認
cat << ETX
DYNAMO_TABLE_NAME: ${DYNAMO_TABLE_NAME}
ETX
DYNAMO_TABLE_NAMEが空か、想定と異なる場合は指定しなおします。
コマンド(例)
DYNAMO_TABLE_NAME='ProductCatalog'
1.2. テーブルの確認
コマンド
aws dynamodb describe-table --table-name ${DYNAMO_TABLE_NAME}
結果
{
"Table": {
"AttributeDefinitions": [
{
"AttributeName": "Id",
"AttributeType": "N"
}
],
"ProvisionedThroughput": {
"NumberOfDecreasesToday": 1,
"WriteCapacityUnits": 1,
"ReadCapacityUnits": 1,
"LastDecreaseDateTime": 1424069183.78
},
"TableSizeBytes": 0,
"TableName": "ProductCatalog",
"TableStatus": "ACTIVE",
"KeySchema": [
{
"KeyType": "HASH",
"AttributeName": "Id"
}
],
"ItemCount": 0,
"CreationDateTime": 1424066269.294
}
}
- テーブルの削除
=================
変数の確認
cat << ETX
DYNAMO_TABLE_NAME: ${DYNAMO_TABLE_NAME}
ETX
コマンド
aws dynamodb delete-table --table-name ${DYNAMO_TABLE_NAME}
結果
{
"TableDescription": {
"TableStatus": "DELETING",
"TableSizeBytes": 0,
"ItemCount": 0,
"TableName": "ProductCatalog",
"ProvisionedThroughput": {
"NumberOfDecreasesToday": 0,
"WriteCapacityUnits": 5,
"ReadCapacityUnits": 10
}
}
}
- 事後確認
=============
コマンド
aws dynamodb describe-table --table-name ${DYNAMO_TABLE_NAME}
結果
A client error (ResourceNotFoundException) occurred when calling the DescribeTable operation: Requested resource not found: Table: ProductCatalog not found
完了
以上で、DynamoDBは完了です。