メニュー
Amazon Simple Storage Service
開発者ガイド (API Version 2006-03-01)

オブジェクトバージョンの削除

オブジェクトのバージョンはいつでも削除できます。さらに、明確なライフサイクルが定義されているオブジェクトのライフサイクル設定ルールを定義することにより、最新のオブジェクトバージョンを有効期限切れにしたり、以前のオブジェクトバージョンを完全に削除したりすることを Amazon S3 にリクエストできます。バケットでバージョニングが有効であるか、バージョニングが停止されている場合、ライフサイクル設定アクションは次のように動作します。

  • Expiration アクションは最新のオブジェクトバージョンに適用されます。Amazon S3 は、最新のオブジェクトバージョンを削除するのではなく、削除マーカーを追加してそれを最新バージョンとします。これにより、最新バージョンは以前のバージョンとして保持されます。

  • NoncurrentVersionExpiration アクションは、以前のオブジェクトバージョンに適用されます。Amazon S3 はこれらのオブジェクトバージョンを完全に削除します。完全に削除したオブジェクトは復元できません。

詳細については、「オブジェクトのライフサイクル管理」を参照してください。

DELETE リクエストには次のユースケースがあります。

  • バージョニングが有効になっている場合、単純な DELETE はオブジェクトを完全に削除することはできません。

    代わりに、Amazon S3 はバケットに削除マーカーを挿入します。このマーカーが新しい ID を持つオブジェクトの最新バージョンになります。最新バージョンが削除マーカーであるオブジェクトを GET しようとすると、Amazon S3 は、オブジェクトが(消去されていなくても)削除されたものとして動作し、エラー 404 を返します。

    次の図は、シンプルな DELETE が、指定したオブジェクトを実際には削除しないことを示しています。代わりに、Amazon S3 は削除マーカーを挿入します。

  • バージョニングされたオブジェクトを完全に削除するには、DELETE Object versionId を使用する必要があります。

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

コンソールを使用する

手順については、「S3 オブジェクトのバージョンを表示するには」(Amazon Simple Storage Service コンソールユーザーガイド) を参照してください。

AWS SDK の使用

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

他の AWS SDK の使用については、サンプルコードとライブラリのページを参照してください。

REST の使用

オブジェクトの特定のバージョンを削除するには

  • DELETE でバージョン ID を指定します。

例 特定のバージョンの削除

次の例は、photo.gif のバージョン UIORUnfnd89493jJFJ を削除する方法を示しています。

Copy
DELETE /photo.gif?versionId=UIORUnfnd89493jJFJ HTTP/1.1 Host: bucket.s3.amazonaws.com Date: Wed, 12 Oct 2009 17:50:00 GMT Authorization: AWS AKIAIOSFODNN7EXAMPLE:xQE0diMbLRepdf3YB+FIEXAMPLE= Content-Type: text/plain Content-Length: 0

MFA Delete の使用

削除マーカーの使用

削除マーカーの削除

バージョニングの使用