

# 条件付きリクエストを使用して S3 オペレーションに前提条件を追加する
<a name="conditional-requests"></a>

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

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

条件付き書き込みでは、`PUT` オペレーション中にバケットに同じキー名を持つ既存のオブジェクトがないことを確認できます。これにより、同じキー名を持つ既存のオブジェクトが上書きされるのを防ぐことができます。同様に、条件付き書き込みを使用して、オブジェクトを更新する前にオブジェクトの ETag が変更されていないかどうかを確認できます。これにより、オブジェクトのコンテンツの状態を知らずに、意図せず上書きすることを防げます。[https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)、[CompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)、または [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) リクエストに条件付き書き込みを使用できます。有効なキー名の詳細については、[Amazon S3 オブジェクトに命名する](object-keys.md) を参照してください。

条件付き削除では、オブジェクトを削除する前に、オブジェクトが存在するか、変更されていないかを評価します。条件付き削除は、汎用バケットとディレクトリバケットの `DeleteObject` または `DeleteObjects` API を使用して実行できます。条件付き削除の詳細については、「[条件付き削除を実行する方法](conditional-deletes.md)」を参照してください。条件付き読み取り、条件付き書き込み、または条件付き削除には追加料金はかかりません。失敗したリクエストも含め、該当するリクエストに対してのみ既存の料金が請求されます。Amazon S3 の機能と料金の詳細については、「[Amazon S3 の料金](https://aws.amazon.com/s3/pricing)」を参照してください。

**Topics**
+ [条件付き読み取りでメタデータに基づいてオブジェクトを取得またはコピーする方法](conditional-reads.md)
+ [条件付き書き込みによるオブジェクトの上書きを防ぐ方法](conditional-writes.md)
+ [条件付き削除を実行する方法](conditional-deletes.md)