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

Object Storage Service:DeleteObject

最終更新日:Feb 23, 2024

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

使用上の注意

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

  • 削除したオブジェクトを元に戻すことはできません。 作業は慎重に行ってください。 オブジェクトを削除する方法の詳細については、「オブジェクトの削除」をご参照ください。

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

  • 削除するオブジェクトがシンボリックリンクの場合、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は、削除するバージョンのIDとして文字列 "null" を識別し、nullバージョンを削除します。

リクエスト構文

DELETE /ObjectName HTTP/1.1
ホスト: BucketName.oss-cn-hangzhou.aliyuncs.com
日付: 1月2日水2019 13:28:38 GMT
権限付与: SignatureValue 

リクエストヘッダー

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

レスポンスヘッダー

ヘッダー

データ型

説明

x-oss-delete-marker

Boolean

true

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

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

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

有効値: true

x-oss-version-id

String

CAEQMxiBgIDh3ZCB0BYiIGE4YjIyMjExZDhhYjQxNzZiNGUyZTI4ZjljZDcz ****

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

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

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

この要求に対する応答は、共通の応答ヘッダを含む。 共通レスポンスヘッダーの詳細については、「共通レスポンスヘッダー」をご参照ください。

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

    リクエストの例

    DELETE /AK.txt HTTP/1.1
    ホスト: test.oss-cn-zhangjiakou.aliyuncs.com
    Accept-Encoding: ID
    ユーザーエージェント: aliyun-sdk-python/2.6.0(Windows/7/AMD64;3.7.0)
    受け入れる: text/html
    接続: キープアライブ
    日付: 1月2019日2日水13:28:38 GMT
    承認: OSS qn6qrrqxo2oawuk53otfjbyc:zUglwRPGkbByZxm1 + y4eyu + NIUs=zV0 ****
    コンテンツ長: 0 

    レスポンスの例

    HTTP/1.1 204コンテンツなし
    サーバー: AliyunOSS
    日付: 1月2日水2019 13:28:38 GMT
    コンテンツ長: 0
    接続: キープアライブ
    x-oss-request-id: 5C2CBC8653718B5511EF4535
    x-oss-server-time: 134 
  • バージョンIDを指定せずに、バージョン管理されたバケットからオブジェクトを削除します。

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

    リクエストの例

    DELETE /例HTTP/1.1
    ホスト: versioning-delete.oss-cn-hangzhou.aliyuncs.com
    日付: 4月2019日火曜日04:08:23 GMT
    権限付与: OSS twnetzwjkqr9eq6:z73SSKA6t2tNTP4GuPjPiyV/**** 

    レスポンスの例

    HTTP/1.1 204 NoContent
    x-oss-delete-marker: true
    x-oss-version-id: CAEQMxiBgIDh3ZCB0BYiIGE4YjIyMjExZDhhYjQxNzZiNGUyZTI4ZjljZDcz ****
    x-oss-request-id: 5CAC1AB7B7AEADE01700 ****
    日付: 4月2019日火曜日04:08:23 GMT
    接続: キープアライブ
    サーバー: AliyunOSS 
  • バージョンIDを指定して、バージョン管理されたバケットからオブジェクトのバージョンを削除します。

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

    リクエストの例

    DELETE /example?versionId=CAEQOBiBgIDNlJeB0BYiIDAwYjJlNDQ4YjJkMzQxMmY5NTM5N2UzZWNiZTQ2 **** HTTP/1.1
    ホスト: versioning-delete.oss-cn-hangzhou.aliyuncs.com
    日付: 4月2019日火曜日04:11:54 GMT
    承認: OSS gb3m2qiwirupd6v:UjOXBmIbJD3qXL + DP1EDNyCI **** 

    レスポンスの例

    HTTP/1.1 204コンテンツなし
    x-oss-version-id: CAEQOBiBgIDNlJeB0BYiIDAwYjJlNDQ4YjJkMzQxMmY5NTM5N2UzZWNiZTQ2 ****
    x-oss-request-id: 5CAC1B8AB7AEADE01700 ****
    日付: 4月2019日火曜日04:11:54 GMT
    コンテンツ長: 0
    接続: キープアライブ
    サーバー: AliyunOSS 
  • 削除マーカーのバージョンIDを指定して、バージョン管理されたバケットから削除マーカーを削除します。

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

    リクエストの例

    DELETE /example?versionId=CAEQOBiBgIDNlJeB0BYiIDAwYjJlNDQ4YjJkMzQxMmY5NTM5N2UzZWNiZTQ2 **** HTTP/1.1
    ホスト: versioning-delete.oss-cn-hangzhou.aliyuncs.com
    日付: 4月2019日火曜日04:16:25 GMT
    承認: OSS jh475i54ffozhoy:4tX6Z + fnhtINhp0g + sRiLEQb **** 

    レスポンスの例

    HTTP/1.1 204コンテンツなし
    x-oss-delete-marker: true
    x-oss-version-id: CAEQNhiBgIDFtp.B0BYiIDk4NzgwMmU4NDMyOTQyM2NiMDQxOTcxYWNhMjc1 ****
    x-oss-request-id: 5CAC1C99B7AEADE01700 ****
    日付: 4月2019日火曜日04:16:25 GMT
    コンテンツ長: 0
    接続: キープアライブ
    サーバー: AliyunOSS 

SDK

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

参考資料

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

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

エラーコード

エラーコード

HTTPステータスコード

説明

FileImmutable

409

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

FileAlreadyExists

409

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