はじめに こんにちは、平野です。 あるファイルが処理済みであるかを管理するような仕組みにDynamoDBを使うことがあります。 そして同時に複数走るLambdaでの処理を管理する場合、 このDynamoDBには同一レコードについて、(ほぼ)同時にステータスが確認されるということが起き得ます。 同一ファイルに対する処理が同時に2つ以上のプロセスで実行されてはまずい (そのためにわざわざDynamoDBを使っている)ので、 これが問題なく行われるのかどうかを確認しました。 DynamoDBには条件付き更新という機能があり、 それを使うことで期待した動作が得られそうでしたので、実際に試してみました。 準備 テーブルの作成 検証用テーブルを作成します。 ハッシュキーをLockID、ステータスを表すカラムをLockStatus1としました。 同時実行のやり方 同時実行する方法は色々あるかと思いますが