オブジェクトを削除します。
使用上の注意
オブジェクトを削除するには、
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を指定してオブジェクトを削除する (永久削除)
リクエストの
params
でversionId
を指定した場合、OSSは指定されたバージョンを削除します。 nullバージョンを削除する場合は、params
にparams['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 | オブジェクトが削除マーカーかどうかを示します。
有効値: true |
x-oss-version-id | String | CAEQMxiBgIDh3ZCB0BYiIGE4YjIyMjExZDhhYjQxNzZiNGUyZTI4ZjljZDcz **** | 削除されたオブジェクトのバージョン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 | 削除するオブジェクトは、階層的な名前空間機能が有効になっているバケット内のディレクトリです。 |