オブジェクトを削除します。
使用上の注意
バケットにデータレプリケーションルールが設定されており、オブジェクトの作成、変更、削除を含むすべてのデータ変更 (追加/削除/変更) を同期するように設定されている場合、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 を指定してオブジェクトを削除する (完全な削除)
リクエストの
paramsでversionIdを指定すると、OSS は指定されたバージョンを削除します。null バージョンを削除する場合は、paramsにparams['versionId'] = "null"を含めます。OSS は文字列 "null" を削除するバージョンの ID として識別し、null バージョンを削除します。
権限
デフォルトでは、Alibaba Cloud アカウントは完全な権限を持っています。Alibaba Cloud アカウント下の RAM ユーザーまたは RAM ロールは、デフォルトでは何の権限も持っていません。Alibaba Cloud アカウントまたはアカウント管理者は、RAM ポリシーまたはバケットポリシーを介して操作権限を付与する必要があります。
API | アクション | 説明 |
DeleteObject | oss:DeleteObject | オブジェクトを削除します。 |
oss:DeleteObjectVersion | オブジェクトの特定のバージョンを削除します。 |
リクエスト構文
DELETE /ObjectName HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValueリクエストヘッダー
DescribeRegions リクエストのすべてのヘッダーは、共通リクエストヘッダーです。詳細については、「共通リクエストヘッダー」をご参照ください。
レスポンスヘッダー
ヘッダー | タイプ | 例 | 説明 |
x-oss-delete-marker | ブール値 | true | オブジェクトが削除マーカーであるかどうかを示します。
有効な値: true |
x-oss-version-id | 文字列 | CAEQMxiBgIDh3ZCB0BYiIGE4YjIyMjExZDhhYjQxNzZiNGUyZTI4ZjljZDcz**** | 削除されたオブジェクトのバージョン 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: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e 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: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eレスポンスの例
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: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eレスポンスの例
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: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eレスポンスの例
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 | 削除しようとしているオブジェクトは、階層型名前空間機能が有効になっているバケット内のディレクトリです。 |