目次


大瀧
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'])