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

Object Storage Service:DeleteMultipleObjects

最終更新日:Feb 21, 2025

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

注意事項

  • DeleteMultipleObjects 操作の呼び出しでは、最大 1,000 個のオブジェクトを削除できます。

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

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

バージョン管理

DeleteMultipleObjects 操作を呼び出して、バージョン管理されたバケットから複数のオブジェクトを削除できます。 リクエストで削除するオブジェクトのバージョン ID を指定しない場合、オブジェクトに削除マーカーが追加されます。 リクエストで削除するオブジェクトのバージョン ID を指定した場合、指定されたオブジェクトバージョンは完全に削除されます。

リクエスト構文

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>

リクエストヘッダー

Object Storage Service (OSS) は、以下のヘッダーに基づいて DeleteMultipleObjects リクエストの本文を検証し、検証が成功した場合にのみ指定されたオブジェクトを削除します。

ヘッダー

タイプ

必須

説明

Encoding-type

文字列

いいえ

url

レスポンス内のオブジェクト名のエンコーディングタイプ。 Key 要素の値は UTF-8 でエンコードされています。 Key 要素に XML 1.0 標準でサポートされていない制御文字が含まれている場合は、このヘッダーを指定して、レスポンス内の Key 要素の値をエンコードできます。

デフォルトでは、このヘッダーは空のままです。

有効な値: url

Content-Length

文字列

はい

151

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

OSS はこのヘッダーを使用してリクエストのメッセージ本文を検証し、メッセージ本文の長さがこのヘッダーの値と同じ場合にのみ指定されたオブジェクトを削除します。

Content-MD5

文字列

はい

ohhnqLBJFiKkPSBO1eNaUA==

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

説明

Content-MD5 ヘッダーの値を取得するには、MD5 アルゴリズムを使用して DeleteMultipleObjects リクエストのメッセージ本文を暗号化して 128 ビットのバイト配列を取得し、次にバイト配列を Base64 でエンコードします。

リクエスト要素

要素

タイプ

必須

説明

Delete

コンテナー

はい

該当なし

DeleteMultipleObjects リクエストコンテンツを格納するコンテナー。

子ノード: Object および Quiet

親ノード: なし

Object

コンテナー

はい

該当なし

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

子ノード: Key

親ノード: Delete

Key

文字列

はい

test.jpg

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

親ノード: Object

Quiet

列挙型文字列

いいえ

false

Quiet 戻りモードを有効にするかどうかを指定します。

DeleteMultipleObjects 操作では、次の戻りモードが提供されます。

  • quiet: レスポンスにメッセージ本文は含まれません。

  • verbose: レスポンスのメッセージ本文には、削除されたすべてのオブジェクトに関する情報が含まれています。 デフォルトでは、このモードが使用されます。

有効な値: true および false

デフォルト値: false

親ノード: Delete

VersionId

文字列

いいえ

CAEQNRiBgIDyz.6C0BYiIGQ2NWEwNmVhNTA3ZTQ3MzM5ODliYjM1ZTdjYjA4****

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

親ノード: Object

レスポンス要素

要素

タイプ

説明

DeleteResult

コンテナー

該当なし

DeleteMultipleObjects リクエストの結果を格納するコンテナー。

子ノード: Deleted

親ノード: なし

Deleted

コンテナー

該当なし

削除されたオブジェクトに関する情報を格納するコンテナー。

重要

Deleted レスポンス要素には、削除されたオブジェクトに関する情報のみが含まれ、削除に失敗したオブジェクトに関する情報は含まれません。 DeleteMultipleObjects 操作で削除に失敗したオブジェクトの名前を取得するには、リクエストの Delete ヘッダーの値とレスポンスの Deleted ヘッダーの値を比較します。

子ノード: Key

親ノード: DeleteResult

Key

文字列

demo.jpg

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

親ノード: Deleted

VersionId

文字列

version_20211101141621_d137

バージョン ID。

親ノード: Deleted

DeleteMarker

ブール値

true

削除されたバージョンが削除マーカーかどうかを示します。 true: 削除されたバージョンは削除マーカーです。 false: 指定されたバージョンは削除マーカーではありません。

説明

DeleteMarker 要素は、DeleteMultipleObjects 操作に削除マーカーの作成または完全な削除が含まれる場合にのみレスポンスに含まれます。

親ノード: Deleted

DeleteMarkerVersionId

文字列

THUQNRiBgICEoPiC0BYiIGMxZWJmYmMzYjE0OTQ0ZmZhYjgzNzkzYjc2NjZk****

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

親ノード: Deleted

EncodingType

文字列

url

レスポンス内の削除されたオブジェクト名のエンコーディングタイプ。

親ノード: DeleteResult

  • Quiet モードが無効になっているサンプルリクエスト

    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: OSS qn6q**************:77Dv****************
    
    <?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>
  • Quiet モードが有効になっているサンプルリクエスト

    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: OSS qn6q**************:77Dv****************
    
    <?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 が指定されていないサンプルリクエスト

    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: OSS qn6q**************:77Dv****************
    
    <?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: OSS qn6q**************:77Dv****************
    
    <?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>
  • versionId 要素を指定して削除マーカーを削除するサンプルリクエスト

    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: OSS qn6q**************:77Dv****************
    
    <?xml version="1.0" encoding="UTF-8"?>
    <Delete> 
      <Quiet>false</Quiet>  
      <Object> 
        <Key>multipart.data</Key>
        <VersionId>CAEQNRiBgICEoPiC0BYiIGMxZWJmYmMzYjE0OTQ0ZmZhYjgzNzkzYjc2NjZk****</VersionId>
      </Object>
    </Delete>

    サンプルレスポンス

    • Key 要素は削除されたオブジェクトの名前を示し、VersionId 要素はオブジェクトの削除されたバージョンを示します。

    • 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>

OSS SDK

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

ossutil

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

関連情報

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

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

エラーコード

エラーコード

HTTP ステータスコード

説明

InvalidDigest

400

メッセージ本文に基づいて OSS によって計算された Content-MD5 値が、リクエストヘッダーで指定された Content-MD5 値と異なります。

MalformedXML

400

  • メッセージ本文のサイズが 2 MB を超えています。

  • DeleteMultipleObjects リクエストで指定したオブジェクトの数が 1,000 を超えています。

FileImmutable

409

削除または変更しようとしているデータは、保持ポリシーによって保護されています。