DynamoDB は(基本的に)1件ずつしか削除出来ない

そろそろ寒くなってきて、冬到来…かと思いきや、
微妙に気温が高い日もあってなんとも安定しませんね。

あんまり温度差が激しいと体調を崩す原因になりかねないので、
もう少し落ち着いてほしいところ。


さて、表題の件です。先月に引き続き、AWSサービスの1つであるDynamoDBの話ですね。

いわゆる普通のRDB(リレーショナルデータベース)では、全件削除や
数件まとめて削除などは普通に行われています。
しかし、DynamoDBでは基本的に1件ずつしか削除出来ません。
削除時の条件設定で、複数件が対象になるようにした場合はエラーとなります。

どうしても複数件削除を行いたい場合は、BatchWriteItemメソッドを使用します。
これは、指定した条件を実行するメソッドであり、RDBで例えるなら
複数のSQL文を登録しておき、順番に実行していくような動作となります。

一応、設定出来る条件は25件までという制約はありますが、
1件ずつ実行するよりは幾分かマシです。

もちろんDBに対する処理なんで、実行すれば必ず成功するわけもなく、
25件中数件失敗なんて事もあり得ます。

そういう場合は、戻り値のUnprocessedItems内に失敗した条件が設定されるため、
再実行などの対処が実施出来ます。

BatchWriteItemメソッドについて、以下の記事が参考になったため貼っておきます。

DynamoDBでBatchWriteItemを使用する際の注意点

DynamoDBは便利なサービスですが、使うにあたり注意すべき事も多いため
気を付けて使いたいところですね。

以上