すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:DeleteObject

最終更新日:Feb 22, 2025

オブジェクトを削除します。

使用上の注意

  • オブジェクトを削除するには、oss:DeleteObject 権限が必要です。オブジェクトの特定のバージョンを削除するには、oss:DeleteObjectVersion 権限が必要です。詳細については、「RAM ユーザーにカスタムポリシーをアタッチする」をご参照ください。

  • バケットにデータレプリケーションルールが設定されており、オブジェクトの作成、変更、削除を含むすべてのデータ変更 (追加/削除/変更) を同期するように設定されている場合、DeleteObject 操作を呼び出して格納されているオブジェクトを削除すると、レプリケーションポリシーに関連付けられたデスティネーションバケットからレプリケートされたオブジェクトが削除されます。さらに、このバケットでバージョン管理も有効になっている場合、DeleteObject 操作を呼び出すと、ソースバケットで削除されたオブジェクトの削除マーカーが作成され、デスティネーションバケットにレプリケートされます。

  • 削除されたオブジェクトは復元できません。ご注意ください。オブジェクトの削除方法の詳細については、「オブジェクトの削除」をご参照ください。

  • DeleteObject 操作が成功すると、オブジェクトが存在するかどうかに関係なく、HTTP 204 ステータスコードが返されます。

  • 削除するオブジェクトがシンボリックリンクの場合、DeleteObject 操作はシンボリックリンクのみを削除し、リンク先のオブジェクトは削除しません。

  • DeleteObject 操作を使用して、階層型名前空間機能が有効になっているバケット内のディレクトリを削除することはできません。

バージョン管理

バージョン管理されたバケットから DeleteObject を呼び出してオブジェクトを削除する場合、リクエストでバージョン ID を指定するかどうかを決定する必要があります。

  • バージョン ID を指定せずにオブジェクトを削除する (一時的な削除)

    リクエストで削除するオブジェクトのバージョン ID を指定しない場合、OSS はオブジェクトの現在のバージョンを削除せず、削除マーカーを新しいバージョンとしてオブジェクトに追加します。さらに、リクエストへの応答には、x-oss-delete-marker = true ヘッダーと、作成された削除マーカーのバージョン ID を示す x-oss-version-id ヘッダーが含まれます。

    x-oss-delete-marker の値が true の場合、x-oss-version-id の値は削除マーカーのバージョン ID です。

    説明

    バージョン管理が一時停止されたバケットで、バージョン ID を指定せずにオブジェクトを削除し、オブジェクトに既に null バージョンがある場合、OSS はバージョン ID が null の削除マーカーを追加して、既存の null バージョンを上書きします。オブジェクトは、バージョン ID が null のバージョンを 1 つだけ持つことができます。

  • バージョン ID を指定してオブジェクトを削除する (永続的な削除)

    リクエストの paramsversionId を指定すると、OSS は指定されたバージョンを削除します。 null バージョンを削除する場合は、paramsparams['versionId'] = "null" を含めます。OSS は文字列 "null" を削除するバージョンの ID として識別し、null バージョンを削除します。

リクエスト構文

DELETE /ObjectName HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue

リクエストヘッダー

DescribeRegions リクエストのすべてのヘッダーは、共通のリクエストヘッダーです。詳細については、「共通リクエストヘッダー」をご参照ください。

レスポンスヘッダー

ヘッダー

タイプ

説明

x-oss-delete-marker

ブール値

true

オブジェクトが削除マーカーかどうかを示します。

  • DeleteObject リクエストで削除するオブジェクトのバージョン ID を指定しない場合、OSS はオブジェクトの現在のバージョンとして削除マーカーを作成し、このヘッダーを値 true でレスポンスに含めます。

  • DeleteObject リクエストで削除するオブジェクトのバージョン ID を指定し、指定されたバージョンが削除マーカーである場合、OSS はこのヘッダーを値 true でレスポンスに含めます。

有効な値: true

x-oss-version-id

文字列

CAEQMxiBgIDh3ZCB0BYiIGE4YjIyMjExZDhhYjQxNzZiNGUyZTI4ZjljZDcz****

削除されたオブジェクトのバージョン ID。

  • DeleteObject リクエストで削除するオブジェクトのバージョン ID を指定しない場合、OSS はオブジェクトの現在のバージョンとして削除マーカーを作成し、作成された削除マーカーのバージョン ID を示すために、このヘッダーをレスポンスに含めます。

  • DeleteObject リクエストで削除するオブジェクトのバージョン ID を指定した場合、OSS は削除されたオブジェクトバージョンの ID を示すために、このヘッダーをレスポンスに含めます。

このリクエストへのレスポンスには、共通のレスポンスヘッダーが含まれています。共通レスポンスヘッダーの詳細については、「共通レスポンスヘッダー」をご参照ください。

  • バージョン管理されていないバケットからオブジェクトを削除します。

    リクエスト例

    DELETE /AK.txt HTTP/1.1
    Host: test.oss-cn-zhangjiakou.aliyuncs.com
    Accept-Encoding: identity
    User-Agent: aliyun-sdk-python/2.6.0(Windows/7/AMD64;3.7.0)
    Accept: text/html
    Connection: keep-alive
    Date: Wed, 02 Jan 2019 13:28:38 GMT
    authorization: OSS qn6qrrqxo2oawuk53otfjbyc:zUglwRPGkbByZxm1+y4eyu+NIUs=zV0****
    Content-Length: 0

    レスポンス例

    HTTP/1.1 204 No Content
    Server: AliyunOSS
    Date: Wed, 02 Jan 2019 13:28:38 GMT
    Content-Length: 0
    Connection: keep-alive
    x-oss-request-id: 5C2CBC8653718B5511EF4535
    x-oss-server-time: 134
  • バージョン ID を指定せずに、バージョン管理されたバケットからオブジェクトを削除します。

    この場合、OSS はオブジェクトに削除マーカーを追加し、レスポンスに x-oss-delete-marker=true ヘッダーを含めます。

    リクエスト例

    DELETE /example HTTP/1.1
    Host: versioning-delete.oss-cn-hangzhou.aliyuncs.com
    Date: Tue, 09 Apr 2019 04:08:23 GMT
    Authorization: OSS qn6q**************:77Dv****************

    レスポンス例

    HTTP/1.1 204 NoContent
    x-oss-delete-marker: true
    x-oss-version-id: CAEQMxiBgIDh3ZCB0BYiIGE4YjIyMjExZDhhYjQxNzZiNGUyZTI4ZjljZDcz****
    x-oss-request-id: 5CAC1AB7B7AEADE01700****
    Date: Tue, 09 Apr 2019 04:08:23 GMT
    Connection: keep-alive
    Server: AliyunOSS
  • バージョン ID を指定して、バージョン管理されたバケットからオブジェクトのバージョンを削除します。

    この場合、指定されたバージョンのオブジェクトは完全に削除されます。

    リクエスト例

    DELETE /example?versionId=CAEQOBiBgIDNlJeB0BYiIDAwYjJlNDQ4YjJkMzQxMmY5NTM5N2UzZWNiZTQ2**** HTTP/1.1
    Host: versioning-delete.oss-cn-hangzhou.aliyuncs.com
    Date: Tue, 09 Apr 2019 04:11:54 GMT
    Authorization: OSS qn6q**************:77Dv****************

    レスポンス例

    HTTP/1.1 204 No Content
    x-oss-version-id: CAEQOBiBgIDNlJeB0BYiIDAwYjJlNDQ4YjJkMzQxMmY5NTM5N2UzZWNiZTQ2****
    x-oss-request-id: 5CAC1B8AB7AEADE01700****
    Date: Tue, 09 Apr 2019 04:11:54 GMT
    Content-Length: 0
    Connection: keep-alive
    Server: AliyunOSS
  • 削除マーカーのバージョン ID を指定して、バージョン管理されたバケットから削除マーカーを削除します。

    次の例では、指定されたバージョンは削除マーカーです。レスポンスには x-oss-delete-marker=true ヘッダーが含まれます。

    リクエスト例

    DELETE /example?versionId=CAEQOBiBgIDNlJeB0BYiIDAwYjJlNDQ4YjJkMzQxMmY5NTM5N2UzZWNiZTQ2**** HTTP/1.1
    Host: versioning-delete.oss-cn-hangzhou.aliyuncs.com
    Date: Tue, 09 Apr 2019 04:16:25 GMT
    Authorization: OSS qn6q**************:77Dv****************

    レスポンス例

    HTTP/1.1 204 No Content
    x-oss-delete-marker: true
    x-oss-version-id: CAEQNhiBgIDFtp.B0BYiIDk4NzgwMmU4NDMyOTQyM2NiMDQxOTcxYWNhMjc1****
    x-oss-request-id: 5CAC1C99B7AEADE01700****
    Date: Tue, 09 Apr 2019 04:16:25 GMT
    Content-Length: 0
    Connection: keep-alive
    Server: AliyunOSS

SDK

次のプログラミング言語の OSS SDK を使用して、DeleteObject を呼び出すことができます。

ossutil

DeleteObject 操作に対応する ossutil コマンドについては、「delete-object」をご参照ください。

参照

  • 一度に複数のオブジェクトを削除するために呼び出すことができる API 操作については、「DeleteMultipleObjects」をご参照ください。

  • オブジェクトを自動的に削除する方法については、「ライフサイクル」をご参照ください。

エラーコード

エラーコード

HTTP ステータスコード

説明

FileImmutable

409

保護されたデータを削除または変更しようとしました。保護期間中は、バケット内のデータを削除または変更することはできません。

FileAlreadyExists

409

削除しようとしているオブジェクトは、階層型名前空間機能が有効になっているバケット内のディレクトリです。