目次
大瀧
2023.04.05
5
こんにちは、大瀧です。
最近Boto3でDynamoDBのデータを操作することがあったので備忘録として残しておきます。
注意点として、table/batch_writer()メソッドは一度に25件までしか削除できないため、forループで処理する。
import boto3
# 削除対象のレコードのパーティションキーをリストで指定
keys_to_delete = ['key1', 'key2', 'key3']
# DynamoDBテーブルに接続
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('table_name')
# BatchWriteItemリクエストを作成するためのリスト
delete_requests = []
# 削除対象のパーティションキーを含むDeleteRequestを作成し、リストに追加
for key in keys_to_delete:
delete_requests.append({
'DeleteRequest': {
'Key': {
'partition_key_name': key
}
}
})
# BatchWriteItemリクエストを実行する
with table.batch_writer() as batch:
for request in delete_requests:
batch.delete_item(request['DeleteRequest']['Key'])