Amazon S3 に条件付き書き込み機能を新たに追加
Amazon S3 では、更新前にオブジェクトが変更されていないかどうかを評価する条件付き書き込みを実行できるようになりました。これにより、同じオブジェクトへの同時書き込みを調整でき、複数の同時書き込みがコンテンツの状態を知らずに誤ってオブジェクトを上書きしてしまうことを防げます。この機能を使用するには、S3 汎用バケットとディレクトリバケットの両方で S3 PutObject または CompleteMultipartUpload API リクエストを使用してオブジェクトの ETag を指定します。
条件付き書き込みを使用すると、複数のクライアントを持つ分散アプリケーションが、共有データセット全体で同時にデータを並行して更新する方法を簡略化できます。HTTP if-none-match 条件ヘッダーを使用してオブジェクトを作成する前にその存在を確認するのと同様に、クライアントは API リクエストの HTTP if-match ヘッダーを介して、オブジェクトへの変更を反映する Etag に対して条件付き書き込みチェックを実行できるようになりました。次に S3 は、書き込みをコミットする前にオブジェクトの ETag が API リクエストで指定された値と一致するかどうかを評価し、条件が満たされるまでクライアントがオブジェクトを上書きしないようにします。この新しい条件付きヘッダーは、比較操作とスワップ操作を S3 に確実にオフロードすることで、大規模な分析、分散型機械学習、その他の高度に並列化されたワークロードの効率を向上させるのに役立ちます。
この新しい条件付き書き込み機能は、すべての AWS リージョンで追加料金なしで利用できます。AWS SDK、API、または CLI を使用して条件付き書き込みを実行できます。条件付き書き込みの詳細については、S3 ユーザーガイドをご覧ください。