DynamoDBの delete_item() で存在しない項目を削除したとき、キャパシティユニットが消費されるか確認してみた

DynamoDBの delete_item() で存在しない項目を削除したとき、キャパシティユニットが消費されるか確認してみた

存在しない項目を delete_item() しても、DynamoDBのキャパシティユニットは消費されました。
2023.10.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

DynamoDBテーブルで項目を削除するとき、存在しない項目も指定できます。 このとき、キャパシティユニットが消費されるのか気になったので、試してみました。

おすすめの方

  • 掲題について知りたい方

適当なDynamoDBテーブルを用意する

適当なDynamoDBテーブルを用意します。

DynamoDBを用意する

実験用のスクリプトを作成し、実行する

			
			
import boto3

dynamoDB = boto3.resource("dynamodb")
table = dynamoDB.Table("boto3-test")


def main():
    resp = table.delete_item(Key={"todoId": "t0001"}, ReturnConsumedCapacity="TOTAL")
    print(resp["ConsumedCapacity"])


if __name__ == "__main__":
    main()


		

スクリプトを実行する

キャパシティユニットが消費されました。

			
			
$ python app.py 

{'TableName': 'boto3-test', 'CapacityUnits': 1.0}

		

さいごに

存在しない項目を delete_item() しても、DynamoDBのキャパシティユニットは消費されました。 冪等性などの観点で多用することもあると思いますが、頭の片隅には置いておきたいですね。

参考

この記事をシェアする

FacebookHatena blogX

関連記事