AWS CLIを利用して、DynamoDBのテーブルにアイテムを追加します。
前提条件
DynamoDBへの権限
DynamoDBに対してフル権限があること。
AWS CLIのバージョン
以下のバージョンで動作確認済
- AWS CLI 1.11.14
コマンド
aws --version
結果(例):
aws-cli/1.11.34 Python/2.7.10 Darwin/15.6.0 botocore/1.4.91
バージョンが古い場合は最新版に更新しましょう。
コマンド
sudo -H pip install -U awscli
- 準備
=======
0.1. リージョンの決定
変数の設定
export AWS_DEFAULT_REGION='ap-northeast-1'
0.2. プロファイルの確認
プロファイルが想定のものになっていることを確認します。
変数の確認
aws configure list
結果(例):
Name Value Type Location
---- ----- ---- --------
profile dynamodbFull-prjz-mbpr13 env AWS_DEFAULT_PROFILE
access_key ****************XXXX shared-credentials-file
secret_key ****************XXXX shared-credentials-file
region ap-northeast-1 env AWS_DEFAULT_REGION
0.3. DynamoDBテーブル名の指定
コマンド
DYNAMO_TABLE_NAME='microservice-http'
- 事前作業
===========
1.1. アイテムデータの作成
変数の設定
FILE_INPUT="${DYNAMO_TABLE_NAME}-item.json" \
&& echo ${FILE_INPUT}
変数の設定
cat << EOF > ${FILE_INPUT}
{
"Name": {
"S": "taro"
},
"Description": {
"S": "sample"
}
}
EOF
cat ${FILE_INPUT}
JSONファイルを作成したら、フォーマットが壊れてないか必ず確認します。
コマンド
jsonlint -q ${FILE_INPUT}
エラーが出力されなければOKです。
- アイテムの登録
=================
変数の確認
cat << ETX
DYNAMO_TABLE_NAME: ${DYNAMO_TABLE_NAME}
FILE_INPUT: ${FILE_INPUT}
ETX
コマンド
aws dynamodb put-item \
--table-name ${DYNAMO_TABLE_NAME} \
--item file://${FILE_INPUT}
結果(例):
(戻り値なし)
- 事後作業
===========
コマンド
aws dynamodb scan \
--table-name ${DYNAMO_TABLE_NAME}
結果(例):
{
"Count": 1,
"Items": [
{
"Description": {
"S": "sample"
},
"Name": {
"S": "taro"
}
}
],
"ScannedCount": 1,
"ConsumedCapacity": null
}