DynamoDB で簡単なロギング サービスを作成しています。
user_id ハッシュとタイムスタンプ (Unix エポック int) 範囲をキーとするログ テーブルがあります。
サービスのユーザーがアカウントを終了すると、範囲の値に関係なく、テーブル内のすべてのアイテムを削除する必要があります。
この種の操作を行うための推奨される方法は何ですか (何百万ものアイテムを削除する可能性があることに注意してください)。
私が見る限り、私のオプションは次のとおりです。
A: Scan 操作を実行し、アイテムがなくなるまで、返されたアイテムごとに delete を呼び出します。
B: BatchGet 操作を実行し、アイテムがなくなるまで各アイテムに対してもう一度 delete を呼び出します。
これらは両方とも時間がかかるので、私にはひどいように見えます。
私が理想的にやりたいことは、範囲を指定せずに LogTable.DeleteItem(user_id) を呼び出し、すべてを削除してもらうことです。