【AWS DynamoDB】Put itemをPythonで行う
作ったDynamoDBのテーブルに大量にデータを入れたい、でもGUIで手で入れるのはめんどくさい、、、って時ありますよね
今回はPythonでテーブルにデータを入れる方法をご紹介します。
(テーブル削除についてはこちら)
(テーブル作成についてはこちら)
リファレンス
boto3を使用できるように、pip install
pip install boto3
テーブル作成
(下記では例として、「table2」というtableを作成します。カラムは「column1」「column2」「column3」, インデックスは「column1」と「column3」のインデックスを一つ作成します)
put_items.py作成
import boto3
if __name__ == "__main__":
session = boto3.Session(profile_name='default')
client = session.client('dynamodb', region_name='us-east-2など、地域名')items =[
{
"column1": {"S": "Data1"},
"column2": {"S": "Data2"},
"column3": {"S": "AA"},
"column7": {"L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N": "3.14159"}]}
},
{
"column1": {"S": "Data3"},
"column2": {"S": "Data4"},
"column3": {"S": "BB"},
"column7": {"L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N": "3.14159"}]}
},
{
"column1": {"S": "Data5"},
"column2": {"S": "Data6"},
"column3": {"S": "DD"},
"column7": {"L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N": "3.14159"}]}
}
]for item in items:
result = client.put_item(
TableName="Table2",
Item=item
)print(result)
)
"column1": {"S": "Data5"}の”S”などはデータの型指定のために必要です。
”S”はString型を指定しています。
他の型については下記を参考にしてみてください
put_items.pyを実行後にGUIツールでみてみると、以下のようにデータが入っていることがわかります。
以上ですー!!
下記レポジトリでデータを入れるツール(dynamoDB/put_items_dynamodb_tables_json.py)を作成しましたので、使ってみてください^^
今後もDynamoDBに限らず、 LambdaやAPI Gatewayなど他のAWSサービス用ツールも作成していく予定です。
プルリクなどもいただけると嬉しいです!
おやすみなさい。