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

Object Storage Service:DeleteMultipleObjects

最終更新日:Jan 09, 2026

DeleteMultipleObjects 操作は、同じバケットから複数のオブジェクトを削除するために使用します。

注意事項

  • 1 回の DeleteMultipleObjects リクエストで削除できるオブジェクトは 1,000 個までです。

  • バケットにデータレプリケーションルールがあり、レプリケーションポリシーが Sync Additions, Deletions, And Modifications に設定されている場合、DeleteMultipleObjects を呼び出してバケット内のオブジェクトを削除すると、ターゲットバケット内の対応するオブジェクトも削除されます。これらのオブジェクトは削除後に回復できません。バケットでバージョン管理も有効になっている場合、DeleteMultipleObjects を呼び出すと、OSS はバケット内の削除された各オブジェクトに対して削除マーカーを作成します。この操作はターゲットバケットにレプリケーションされ、対応する削除マーカーが作成されます。

  • 削除されたオブジェクトは回復できません。操作は慎重に行ってください。オブジェクトの削除方法の詳細については、「オブジェクトの削除」をご参照ください。

バージョン管理

DeleteMultipleObjects 操作を使用して、バージョン管理が有効なバケットから複数のオブジェクトを削除することもできます。削除リクエストでバージョン ID を指定しない場合、削除マーカーが挿入されます。バージョン ID を指定した場合、指定されたバージョンのオブジェクトが完全に削除されます。

権限

デフォルトでは、Alibaba Cloud アカウントは完全な権限を持っています。Alibaba Cloud アカウント配下の Resource Access Management (RAM) ユーザーまたは RAM ロールは、デフォルトでは何の権限も持っていません。Alibaba Cloud アカウントまたはアカウント管理者は、RAM ポリシーまたはバケットポリシーを通じて操作権限を付与する必要があります。

API

アクション

定義

DeleteMultipleObjects

oss:DeleteObject

バケットから複数のオブジェクトを削除します。

リクエスト構文

POST /?delete HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Content-Length: ContentLength
Content-MD5: MD5Value
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<Delete>
  <Quiet>true</Quiet>
  <Object>
    <Key>key</Key>
  </Object>
…
</Delete>

リクエストヘッダー

OSS は、削除操作を実行する前に、次のリクエストヘッダーに基づいてメッセージ本文を検証します。

名前

必須

説明

Encoding-type

文字列

いいえ

url2

オブジェクトのキーは UTF-8 でエンコードする必要があります。キーに XML 1.0 でサポートされていない制御文字が含まれている場合は、Encoding-type を url2 に設定し、リクエスト内のキーを URL エンコードします。OSS はレスポンス内の Key フィールドをエンコードします。

デフォルト値:なし

有効な値:url2

Content-Length

文字列

はい

151

HTTP メッセージ本文の長さ。

OSS は、このリクエストヘッダーに基づいて受信したメッセージ本文を検証します。削除操作は、メッセージ本文が検証された後にのみ実行されます。

Content-MD5

文字列

はい

ohhnqLBJFiKkPSBO1eNaUA==

Content-MD5 ヘッダーは、MD5 アルゴリズムを使用して生成された値です。このヘッダーは、メッセージの内容が送信された内容と同じであるかどうかを確認するために使用されます。Content-MD5 リクエストヘッダーを指定すると、OSS はメッセージ本文の Content-MD5 値を計算し、その値が Content-MD5 リクエストヘッダーの値と一致するかどうかを確認します。

説明

Content-MD5 フィールドの値を取得するには、DeleteMultipleObjects リクエストのメッセージ本文を MD5 アルゴリズムで暗号化して 128 ビットのバイト配列を取得します。次に、そのバイト配列を Base64 でエンコードします。エンコードされた文字列が Content-MD5 フィールドの値になります。

リクエスト要素

名前

必須

説明

Delete

コンテナー

はい

N/A

DeleteMultipleObjects リクエストのコンテナー。

子ノード:1 つ以上の Object 要素と Quiet 要素

親ノード:なし

Object

コンテナー

はい

N/A

オブジェクトに関する情報のコンテナー。

子ノード:Key

親ノード:Delete

Key

文字列

はい

test.jpg

削除するオブジェクトの名前。

親ノード:Object

Quiet

列挙文字列

いいえ

false

シンプルレスポンスモードを有効にするかどうかを指定します。

DeleteMultipleObjects は、次のレスポンスモードを提供します。

  • シンプルモード (quiet):OSS はメッセージ本文を返しません。

  • 詳細モード (verbose):OSS が返すメッセージ本文には、削除されたすべてのオブジェクトの結果が含まれます。デフォルトでは詳細モードが使用されます。

有効な値:true (シンプルモードを有効にする) と false (詳細モードを有効にする)

デフォルト値:false

親ノード:Delete

VersionId

文字列

いいえ

CAEQNRiBgIDyz.6C0BYiIGQ2NWEwNmVhNTA3ZTQ3MzM5ODliYjM1ZTdjYjA4****

削除するオブジェクトのバージョン番号。

親ノード:Object

レスポンス要素

名前

説明

DeleteResult

コンテナー

N/A

DeleteMultipleObjects リクエストの結果のコンテナー。

子ノード:Deleted

親ノード:なし

Deleted

コンテナー

N/A

正常に削除されたオブジェクトのコンテナー。

重要

Deleted レスポンス要素には、正常に削除されたオブジェクトのみが含まれます。削除に失敗したオブジェクトは含まれません。削除に失敗したオブジェクトの名前を取得するには、リクエスト内のオブジェクトのリストとレスポンスの `Deleted` 要素内のオブジェクトのリストを比較します。

子ノード:Key

親ノード:DeleteResult

Key

文字列

demo.jpg

削除されたオブジェクトの名前。

親ノード:Deleted

VersionId

文字列

version_20211101141621_d137

バージョン ID。

親ノード:Deleted

DeleteMarker

ブール値

true

バージョンが削除マーカーであるかどうかを示します。有効な値:true と false。

説明

この要素は、削除マーカーが作成された場合、または削除マーカーが完全に削除された場合にのみ true の値で返されます。

親ノード:Deleted

DeleteMarkerVersionId

文字列

THUQNRiBgICEoPiC0BYiIGMxZWJmYmMzYjE0OTQ0ZmZhYjgzNzkzYjc2NjZk****

削除マーカーのバージョン ID。

親ノード:Deleted

EncodingType

文字列

url2

レスポンス内のオブジェクト名に使用されるエンコーディングタイプ。リクエストで Encoding-type パラメーターを指定した場合、OSS はレスポンス内の Key をエンコードします。

親ノード:DeleteResult

  • シンプルレスポンスモードを無効にしたリクエスト例

    POST /?delete HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Wed, 29 Feb 2012 12:26:16 GMT
    Content-Length:151
    Content-MD5: ohhnqLBJFiKkPSBO1eNaUA==
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <Delete> 
      <Quiet>false</Quiet>  
      <Object> 
        <Key>multipart.data</Key> 
      </Object>  
      <Object> 
        <Key>test.jpg</Key> 
      </Object>  
      <Object> 
        <Key>demo.jpg</Key> 
      </Object> 
    </Delete>

    レスポンス例

    HTTP/1.1 200 OK
    x-oss-request-id: 78320852-7eee-b697-75e1-b6db0f4849e7
    Date: Wed, 29 Feb 2012 12:26:16 GMT
    Content-Length: 244
    Content-Type: application/xml
    Connection: keep-alive
    Server: AliyunOSS
    
    <?xml version="1.0" encoding="UTF-8"?>
    <DeleteResult xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”>
        <Deleted>
           <Key>multipart.data</Key>
        </Deleted>
        <Deleted>
           <Key>test.jpg</Key>
        </Deleted>
        <Deleted>
           <Key>demo.jpg</Key>
        </Deleted>
    </DeleteResult>
  • シンプルレスポンスモードを有効にしたリクエスト例

    POST /?delete HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Wed, 29 Feb 2012 12:33:45 GMT
    Content-Length:151
    Content-MD5: ohhnqLBJFiKkPSBO1eNaUA==
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <Delete> 
      <Quiet>true</Quiet>  
      <Object> 
        <Key>multipart.data</Key> 
      </Object>  
      <Object> 
        <Key>test.jpg</Key> 
      </Object>  
      <Object> 
        <Key>demo.jpg</Key> 
      </Object> 
    </Delete>

    レスポンス例

    HTTP/1.1 200 OK
    x-oss-request-id: 559CC9BDC755F95A64485981
    Date: Wed, 29 Feb 2012 12:33:45 GMT
    Content-Length: 0
    Connection: keep-alive
    Server: AliyunOSS
  • バージョン ID を指定せずに DeleteMultipleObjects 操作を呼び出すリクエスト例

    POST /?delete HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Tue, 09 Apr 2019 04:20:03 GMT
    Content-MD5: xSLOYWaPC86RPwWXNiFeXg==
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <Delete> 
      <Quiet>false</Quiet>  
      <Object> 
        <Key>multipart.data</Key>
      </Object>  
      <Object> 
        <Key>test.jpg</Key> 
      </Object>
    </Delete>

    レスポンス例

    次の例では、削除する 2 つのオブジェクト (multipart.dat と test.jpg) のバージョン ID が指定されていません。そのため、OSS は 2 つのオブジェクトに削除マーカーを挿入し、<DeleteMarker>true</DeleteMarker> と <DeleteMarkerVersionId>XXXXXX</DeleteMarkerVersionId> を返します。

    HTTP/1.1 200 OK
    x-oss-request-id: 5CAC1D73B7AEADE01700****
    Date: Tue, 09 Apr 2019 04:20:03 GMT
    Content-Type: application/xml
    Connection: keep-alive
    Server: AliyunOSS
    
    <?xml version="1.0" encoding="UTF-8"?>
    <DeleteResult>
        <Deleted>
           <Key>multipart.data</Key>
           <DeleteMarker>true</DeleteMarker>
           <DeleteMarkerVersionId>CAEQMhiBgIDXiaaB0BYiIGQzYmRkZGUxMTM1ZDRjOTZhNjk4YjRjMTAyZjhl****</DeleteMarkerVersionId>
        </Deleted>
        <Deleted>
           <Key>test.jpg</Key>
           <DeleteMarker>true</DeleteMarker>
           <DeleteMarkerVersionId>CAEQMhiBgIDB3aWB0BYiIGUzYTA3YzliMzVmNzRkZGM5NjllYTVlMjYyYWEy****</DeleteMarkerVersionId>
        </Deleted>
    </DeleteResult>
  • バージョン ID を指定してオブジェクトの特定のバージョンを削除するリクエスト例

    説明

    Key と VersionId の両方を指定する必要があります。

    POST /?delete HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Tue, 09 Apr 2019 06:09:34 GMT
    Content-Length:151
    Content-MD5: 2Tpk+dL/tGyuSA+YCEuSVg==
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <Delete> 
      <Quiet>false</Quiet>  
      <Object> 
        <Key>multipart.data</Key>
        <VersionId>CAEQNRiBgIDyz.6C0BYiIGQ2NWEwNmVhNTA3ZTQ3MzM5ODliYjM1ZTdjYjA4****</VersionId>
      </Object>
    </Delete>

    レスポンス例

    次の例は、削除されたオブジェクトのキーとバージョン ID が返されることを示しています。

    HTTP/1.1 200 OK
    x-oss-request-id: 5CAC371EB7AEADE01700****
    Date: Tue, 09 Apr 2019 06:09:34 GMT
    Content-Length: 244
    Content-Type: application/xml
    Connection: keep-alive
    Server: AliyunOSS
    
    <?xml version="1.0" encoding="UTF-8"?>
    <DeleteResult xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”>
        <Deleted>
           <Key>multipart.data</Key>
           <VersionId>CAEQNRiBgIDyz.6C0BYiIGQ2NWEwNmVhNTA3ZTQ3MzM5ODliYjM1ZTdjYjA4****</VersionId>
        </Deleted>
    </DeleteResult>
  • バージョン ID を指定して削除マーカーを削除するリクエスト例

    POST /?delete HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Tue, 09 Apr 2019 06:14:50 GMT
    Content-Length: 178
    Content-MD5: dX9IFePFgYhmINvAhG30Bg==
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <Delete> 
      <Quiet>false</Quiet>  
      <Object> 
        <Key>multipart.data</Key>
        <VersionId>CAEQNRiBgICEoPiC0BYiIGMxZWJmYmMzYjE0OTQ0ZmZhYjgzNzkzYjc2NjZk****</VersionId>
      </Object>
    </Delete>

    レスポンス例

    • 返された Key と VersionId は、削除されたオブジェクトのキーとバージョン ID を表します。

    • DeleteMarker と DeleteMarkerVersionId 要素は、削除された項目が削除マーカーであり、その対応するバージョン ID であることを示します。この場合、VersionId と DeleteMarkerVersionId の値は同じであり、DeleteMarker と DeleteMarkerVersionId 要素は一緒に返されます。

    HTTP/1.1 200 OK
    x-oss-request-id: 5CAC385AB7AEADE01700****
    Date: Tue, 09 Apr 2019 06:14:50 GMT
    Content-Length: 364
    Content-Type: application/xml
    Connection: keep-alive
    Server: AliyunOSS
    
    <?xml version="1.0" encoding="UTF-8"?>
    <DeleteResult xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”>
        <Deleted>
           <Key>demo.jpg</Key>
           <VersionId>CAEQNRiBgICEoPiC0BYiIGMxZWJmYmMzYjE0OTQ0ZmZhYjgzNzkzYjc2NjZk****</VersionId>
           <DeleteMarker>true</DeleteMarker>
           <DeleteMarkerVersionId>THUQNRiBgICEoPiC0BYiIGMxZWJmYmMzYjE0OTQ0ZmZhYjgzNzkzYjc2NjZk****</DeleteMarkerVersionId>
        </Deleted>
    </DeleteResult>

SDK

DeleteMultipleObjects 操作の SDK は、次の言語で利用できます。

ossutil コマンドラインツール

DeleteMultipleObjects 操作の ossutil コマンドについては、「delete-multiple-objects」をご参照ください。

関連ドキュメント

  • 単一のファイルを削除するには、「DeleteObject」をご参照ください。

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

エラーコード

エラーコード

HTTP ステータスコード

説明

InvalidDigest

400

Content-MD5 リクエストヘッダーを指定すると、OSS はメッセージ本文の Content-MD5 値を計算し、その値が Content-MD5 リクエストヘッダーの値と一致するかどうかを確認します。値が一致しない場合、このエラーが返されます。

MalformedXML

400

  • メッセージ本文のサイズは 2 MB を超えることはできません。超えた場合、このエラーが返されます。

  • 1 回の DeleteMultipleObjects リクエストで削除できるオブジェクトは最大 1,000 個です。リクエストで 1,000 個を超えるオブジェクトを指定した場合、このエラーが返されます。

FileImmutable

409

保護されているバケット内のデータを削除または変更しようとすると、このエラーが返されます。