条件付きリクエストを使用して S3 オペレーションに前提条件を追加する - Amazon Simple Storage Service

条件付きリクエストを使用して S3 オペレーションに前提条件を追加する

条件付きリクエストを使用すると、S3 オペレーションに前提条件を追加できます。条件付きリクエストを使用するには、Amazon S3 API オペレーションにヘッダーを追加します。このヘッダーを使用して、条件が満たされないと S3 オペレーションが失敗する条件を指定します。

条件付き読み込みは GETHEAD、および COPY リクエストでサポートされています。オブジェクトのエンティティタグ (ETag) または最終更新日に基づいてオブジェクトを返すかコピーするための前提条件を追加できます。これにより、S3 オペレーションが、指定した日付以降に更新されたオブジェクトに制限される場合があります。S3 オペレーションを特定の ETag に制限することもできます。これにより、特定のオブジェクトバージョンのみを返すかコピーできます。オブジェクトメタデータの詳細については、オブジェクトメタデータの使用 を参照してください。

条件付き書き込みでは、PUT オペレーション中にバケットに同じキー名を持つ既存のオブジェクトがないことを確認できます。これにより、同じキー名を持つ既存のオブジェクトが上書きされるのを防ぐことができます。同様に、条件付き書き込みを使用して、オブジェクトを更新する前にオブジェクトの ETag が変更されていないかどうかを確認できます。これにより、オブジェクトのコンテンツの状態を知らずに、意図せず上書きすることを防げます。条件付き書き込みは、PutObject または CompleteMultipartUpload リクエストに使用できます。有効なキー名の詳細については、Amazon S3 オブジェクトに命名する を参照してください。

条件付き読み取りまたは条件付き書き込みには追加料金はかかりません。失敗したリクエストも含め、該当するリクエストに対してのみ既存の料金が請求されます。Amazon S3 の機能と料金の詳細については、「Amazon S3 の料金」を参照してください。