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

削除マーカーの使用

削除マーカーは、シンプルな DELETE リクエストで指定された、バージョニングされたオブジェクトのプレースホルダー(マーカー)です。オブジェクトがバージョニングが有効なバケット内にあったため、そのオブジェクトは削除されませんでした。ただし、Amazon S3 は、削除マーカーを挿入したため、オブジェクトを削除したものとして動作します。

削除マーカーには他のすべてのオブジェクトと同様にキー名(またはキー)とバージョン ID があります。ただし、削除マーカーは次のような点で他のオブジェクトとは異なります。

  • 関連付けられたデータがない。

  • アクセスコントロールリスト(ACL)値に関連付けられていない。

  • データがないため、GET リクエストから何も取得しない (エラー 404 を受け取る)。

  • 削除マーカーに対して使用できる唯一のオペレーションは DELETE で、バケット所有者のみがこのリクエストを発行できます。

削除マーカーにより、Amazon S3 内のストレージに対して小額の課金が発生します。削除マーカーのストレージサイズは、その削除マーカーのキー名のサイズと同じです。キー名は一連の Unicode 文字です。UTF-8 エンコーディングでは、名前の各文字について、1~4 バイトのストレージが追加されます。有効なキー名の詳細については、「オブジェクトキー」を参照してください。削除マーカーの削除の詳細については、「削除マーカーの削除」を参照してください。

Amazon S3 のみが削除マーカーを作成できます。この削除マーカーは、バージョニングが有効なバケットまたは停止されたバケット内のオブジェクトに対して DELETE Object リクエストが送信されるたびに作成されます。DELETE リクエストで指定されたオブジェクトは実際には削除されず、代わりに削除マーカーがオブジェクトの最新バージョンになります。(オブジェクトのキー名(またはキー)が削除マーカーのキーになります。)オブジェクトを取得しようとしたときに、その最新バージョンが削除マーカーである場合、Amazon S3 は次のように応答します。

  • エラー 404 (オブジェクトが見つからない)

  • レスポンスヘッダー、x-amz-delete-marker: true

レスポンスヘッダーから、アクセスされたオブジェクトが削除マーカーであったことがわかります。このレスポンスヘッダーが false を返すことはありません。値が false の場合は、Amazon S3 がレスポンスにこのレスポンスヘッダーを含めないためです。

次の図は、最新バージョンが削除マーカーであるオブジェクトに対するシンプルな GET が、エラー 404「No Object Found」を返す方法を示しています。

削除マーカー(およびオブジェクトのその他のバージョン)をリストするには、GET Bucket versions リクエストで versions サブリソースを使用するしかありません。シンプルな GET は、削除マーカーオブジェクトを取得しません。次の図は、GET Bucket リクエストが、最新バージョンが削除マーカーであるオブジェクトを返さないことを示しています。