PythonをBoto3を使って、DynamoDBにアイテムを追加してみます。
今回使った環境は
DynamoDB : 事前に「testdb」というテーブルを作成しておく
Runtime : python3.10 (lambdaで実行)
Pythonのコード
import json
import boto3
def lambda_handler(event, context):
print(event)
table_name = 'testdb'
item = {
'Artist': event['artist'],
'Title': event['title']
}
dynamo = boto3.resource('dynamodb')
table = dynamo.Table(table_name)
response = table.put_item(Item=item)
print(response)
importでboto3モジュールを呼び出します。
その後、使用するテーブル名を定義し、DBに追加する項目をpayload(event引数)から取得。
boto3を使って、dynamodbのオブジェクトを取得
put_itemを使って、DBに項目追加実行。
最後に追加された結果をprintで出力します。
テスト用payload
{
"artist": "Michael Jackson",
"title": "Thriller"
}
実行結果
START RequestId: ******************************** Version: $LATEST
{'artist': 'Michael Jackson', 'title': 'Thriller'}
{'ResponseMetadata': {'RequestId': '*********************', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'Server', 'date': 'Wed, 07 Jun 2023 05:26:26 GMT', 'content-type': 'application/x-amz-json-1.0', 'content-length': '2', 'connection': 'keep-alive', 'x-amzn-requestid': '***************************', 'x-amz-crc32': '2745614147'}, 'RetryAttempts': 0}}
END RequestId: ************************
REPORT RequestId: **************************** Duration: 1625.71 ms Billed Duration: 1626 ms Memory Size: 128 MB Max Memory Used: 70 MB Init Duration: 253.35 ms
実行すると「ResponseMetadata」が出力されます。
DB確認
awsのコンソール画面から「DynamoDB」へアクセスし、「項目の探索」からtestdbを選択し、「返された項目」を確認すると、Boto3を使用してlambda pythonから追加したアイテムが表示されていることが確認できます。
Kommentarer