

# バージョニングが有効なバケットへのオブジェクトの追加
<a name="AddingObjectstoVersioningEnabledBuckets"></a>

バケットでバージョニングを有効にすると、Amazon S3 は (`PUT`、`POST`、または `CopyObject` を使用して) バケットに保存されたすべてのオブジェクトに、一意のバージョン ID を自動的に追加します。

次の図は、バージョニングが有効なバケットにオブジェクトが追加されたときに、Amazon S3 がそのオブジェクトに一意のバージョン ID を追加する方法を示しています。

![\[オブジェクトがバージョニング対応のバケットに配置されるとオブジェクトに追加される一意のバージョン ID を示す図\]](http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/images/versioning_PUT_versionEnabled.png)


**注記**  
Amazon S3 が割り当てるバージョン ID の値は URL セーフです（URI の一部として含めることができます）。

バージョニングの詳細については、「[S3 バージョニングによる複数のバージョンのオブジェクトの保持](Versioning.md)」を参照してください。バージョニングが有効なバケットにオブジェクトバージョンを追加するときは、コンソール、AWS SDK、REST API を使用します。

## コンソールを使用する
<a name="add-obj-versioning-enabled-bucket-console"></a>

手順については、「[オブジェクトのアップロード](upload-objects.md)」を参照してください。

## AWS SDK の使用
<a name="add-obj-versioning-enabled-bucket-sdk"></a>

AWS SDK for Java、.NET、PHP を使用してオブジェクトをアップロードする例については、「[オブジェクトのアップロード](upload-objects.md)」を参照してください。バージョニングが設定されていないバケットでも、バージョニングが有効なバケットでもオブジェクトをアップロードする例は同じです。ただし、バージョニングが有効なバケットでは、Amazon S3 によってバージョン番号が割り当てられます。それ以外の場合、バージョン番号は null になります。

他の AWS SDK の使用の詳細については、「[AWS デベロッパーセンター](https://aws.amazon.com/code/)」を参照してください。

## REST API の使用
<a name="add-obj-versioning-enabled-bucket-rest"></a>

**バージョニングが有効なバケットにオブジェクトを追加するには**

1. `PutBucketVersioning` リクエストを使用して、バケットでバージョニングを有効にします。

   詳細については、「**Amazon Simple Storage Service API リファレンス」の「[https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html)」を参照してください。

1. `PUT`、`POST`、または `CopyObject` リクエストを送信して、バケットにオブジェクトを保存します。

バージョニングが有効なバケットにオブジェクトを追加すると、Amazon S3 は、次の例に示すとおり、`x-amz-version-id` レスポンスヘッダーでオブジェクトのバージョン ID を返します。

```
1. x-amz-version-id: 3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY
```