

# バージョニングが停止されたバケットからのオブジェクトの削除
<a name="DeletingObjectsfromVersioningSuspendedBuckets"></a>

バージョニングが停止されたバケットからオブジェクトを削除することで、null バージョン ID の付いたオブジェクトを削除します。

バケットのバージョニングが停止されている場合、`DELETE` リクエストは次のように動作します。
+ バージョン ID が `null` であるオブジェクトのみを削除できる。
+ バケット内にオブジェクトの null バージョンが存在しない場合は、何も削除しません。
+ バケットに削除マーカーを挿入する。

バケットバージョニングが停止されている場合、オペレーションは null `versionId` を持つオブジェクトを削除します。バージョン ID が存在する場合、Amazon S3 はオブジェクトの最新バージョンとなる削除マーカーを挿入します。次の図は、単純な `DELETE` が null バージョンを削除し、代わりに Amazon S3 がその位置に `null` のバージョン ID を持つ削除マーカーを挿入する方法を示しています。

![\[シンプルな delete が NULL バージョン ID でオブジェクトを削除する方法を説明する図\]](http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/images/versioning_DELETE_versioningSuspended.png)


`versionId` を持つオブジェクトを完全に削除するには、オブジェクトの `versionId` をリクエストに含める必要があります。削除マーカーにはコンテンツが含まれていないため、削除マーカーが置き換えられると、`null` バージョンのコンテンツが失われます。

次の図は、null バージョンが存在しないバケットを示しています。この場合、`DELETE` は何も削除しません。代わりに、Amazon S3 は削除マーカーを挿入します。

![\[削除マーカーの挿入を示す図\]](http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/images/versioning_DELETE_versioningSuspendedNoNull.png)


バージョニングが停止されたバケットでも、`DELETE` リクエストのアクセス許可が明示的に否定されていない限り、バケット所有者は `DELETE` リクエストにバージョン ID を含めることで、指定されたバージョンを完全に削除できます。例えば、`null` バージョン ID を持つオブジェクトの削除を拒否するには、`s3:DeleteObject` および `s3:DeleteObjectVersions` アクセス許可を明示的に拒否する必要があります。

次の図は、指定したオブジェクトバージョンを削除することによって、そのオブジェクトのバージョンを完全に削除する方法を示しています。バケット所有者のみが、指定したオブジェクトバージョンを削除することができます。

![\[指定したバージョン ID を使用した完全なオブジェクトの削除を説明する図\]](http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/images/versioning_DELETE_versioningEnabled2.png)
