Windows Azure テーブル ストレージ サービスで条件付き挿入を行うことはできますか?
基本的に、私がやりたいことは、最後に調べてからそのパーティションで何も変更されていない場合に限り、Table Storage Service のパーティションに新しい行/エンティティを挿入することです。
ご参考までに、私はイベント ソーシングを念頭に置いていますが、質問はそれよりも一般的なものだと思います。
基本的に、パーティションの一部または全体を読み取り、データの内容に基づいて決定を下したいと考えています。データがロードされてからパーティション内で何も変更されていないことを確認するために、挿入は通常のオプティミスティック コンカレンシーのように動作する必要があります。挿入は、パーティション内で何も変更されていない場合 (行が追加、更新、または削除されていない場合) にのみ成功する必要があります。
通常、REST サービスでは、ETag を使用して同時実行を制御することを期待しますが、私が知る限り、パーティション用の ETag はありません。
私が思いつく最善の解決策は、タイムスタンプ/ETag を含むテーブル内の各パーティションに対して単一の行/エンティティを維持し、すべての挿入を、挿入とこの ' の条件付き更新で構成されるバッチの一部にすることです。タイムスタンプエンティティ」. ただし、これは少し面倒で脆いように思えます。
これは Azure Table Storage Service で可能ですか?