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

Object Storage Service:DeleteMultipleObjects

最終更新日:Feb 23, 2024

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

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

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

バージョン管理

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

リクエスト構文

POST /? 削除HTTP/1.1
ホスト: BucketName.oss-cn-hangzhou.aliyuncs.com
日付: GMT日付
Content-Length: ContentLength
Content-MD5: MD5Value
権限付与: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<削除>
  <Quiet>true</Quiet>
  <Object>
    <Key>key</Key>
  </オブジェクト>
...
</削除> 

リクエストヘッダー

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

ヘッダー

データ型

必須

説明

エンコーディングタイプ

String

任意

url

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

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

有効な値:url

コンテンツ長

String

必須

151

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

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

コンテンツ-MD5

String

必須

ohhnqLBJFiKkPSBO1eNaUA==

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

説明

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

リクエスト要素

要素

データ型

必須

説明

削除

Container

必須

N/A

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

子ノード: オブジェクトとクワイエット

親ノード: なし

オブジェクト

Container

必須

N/A

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

子ノード: キー

親ノード: 削除

キー

String

必須

test.jpg

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

親ノード: オブジェクト

静かな

Enumerated string

必須

false

Quietリターンモードを有効にするかどうかを指定します。

DeleteMultipleObjects操作は、次の戻りモードを提供します。

  • quiet: 応答にメッセージ本文は含まれていません。

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

有効な値:truefalse

デフォルト値: "false"

親ノード: 削除

VersionId

String

任意

CAEQNRiBgIDyz.6C0BYiIGQ2NWEwNmVhNTA3ZTQ3MzM5ODliYjM1ZTdjYjA4 ****

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

親ノード: オブジェクト

レスポンス要素

要素

データ型

説明

削除済み

Container

N/A

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

重要

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

子ノード: キー

親ノード: DeleteResult

DeleteResult

Container

N/A

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

子ノード: 削除済み

親ノード: なし

キー

String

demo.jpg

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

親ノード: 削除済み

EncodingType

String

url

レスポンスで削除されたオブジェクトの名前のエンコードタイプ。 リクエストでencoding-typeが指定されている場合、返される結果でオブジェクト名がエンコードされます。

親ノード: コンテナ

DeleteMarker

Boolean

true

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

説明

DeleteMarker要素は、DeleteMultipleObjects操作が削除マーカーの作成または永久削除を含む場合にのみ、応答に含まれます。

DeleteMarkerVersionId

String

THUQNRiBgICEoPiC0BYiIGMxZWJmYmMzYjE0OTQ0ZmZhYjgzNzkzYjc2NjZk ****

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

親ノード: 削除済み

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

    POST /? 削除HTTP/1.1
    ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
    日付: 2月29日水2012 12:26:16 GMT
    コンテンツ-長さ: 151
    Content-MD5: ohhnqLBJFiKkPSBO1eNaUA==
    権限付与: OSS qn6qrrqxo2oawuk53otfjbyc:+ z3gBfnFAxBcBDgx27Y/jEfb ****
    
    <?xml version="1.0" encoding="UTF-8"?>
    <削除> 
      <Quiet>false</Quiet>  
      <Object> 
        <Key>multipart.data</Key> 
      </Object>  
      <Object> 
        <Key>test.jpg</Key> 
      </Object>  
      <Object> 
        <Key>demo.jpg</Key> 
      </オブジェクト>
    </削除> 

    レスポンスの例

    HTTP/1.1 200 OK
    x-oss-request-id: 78320852-7eee-b697-75e1-b6db0f4849e7
    日付: 2月29日水2012 12:26:16 GMT
    コンテンツ-長さ: 244
    Content-Type: application/xml
    接続: キープアライブ
    サーバー: 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>
        </削除済み>
    </DeleteResult> 
  • Quietモードが有効になっているサンプルリクエスト

    POST /? 削除HTTP/1.1
    ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
    日付: 2月29日水2012 12:33:45 GMT
    コンテンツ-長さ: 151
    Content-MD5: ohhnqLBJFiKkPSBO1eNaUA==
    権限付与: OSS qn6qrrqxo2oawuk53otfjbyc:WuV0Jks8RyGSNQrBca64kEEx ****
    
    <?xml version="1.0" encoding="UTF-8"?>
    <削除> 
      <Quiet>true</Quiet>  
      <Object> 
        <Key>multipart.data</Key> 
      </Object>  
      <Object> 
        <Key>test.jpg</Key> 
      </Object>  
      <Object> 
        <Key>demo.jpg</Key> 
      </オブジェクト>
    </削除> 

    レスポンスの例

    HTTP/1.1 200 OK
    x-oss-request-id: 559CC9BDC755F95A64485981
    日付: 2月29日水2012 12:33:45 GMT
    コンテンツ長: 0
    接続: キープアライブ
    サーバー: AliyunOSS 
  • バージョンIDが指定されていないサンプルリクエスト

    POST /? 削除HTTP/1.1
    ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
    日付: 4月2019日火曜日04:20:03 GMT
    Content-MD5: xSLOYWaPC86RPwWXNiFeXg==
    権限付与: OSS xq39jyxyrddzvvh:/G5kxMIw1ilMQjPp2HkJEp5q ****
    
    <?xml version="1.0" encoding="UTF-8"?>
    <削除> 
      <Quiet>false</Quiet>  
      <Object> 
        <Key>multipart.data</Key>
      </Object>  
      <Object> 
        <Key>test.jpg</Key> 
      </オブジェクト>
    </削除> 

    レスポンスの例

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

    HTTP/1.1 200 OK
    x-oss-request-id: 5CAC1D73B7AEADE01700 ****
    日付: 4月2019日火曜日04:20:03 GMT
    Content-Type: application/xml
    接続: キープアライブ
    サーバー: 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>
        </削除済み>
    </DeleteResult> 
  • バージョンIDを指定したサンプルリクエスト

    説明

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

    POST /? 削除HTTP/1.1
    ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
    日付: 4月2019日火曜日06:09:34 GMT
    コンテンツ-長さ: 151
    Content-MD5: 2Tpk + dL/tGyuSA + YCEuSVg==
    承認: OSS qac50zy2vbvbq4z:/pingCxyqfxc0 + 50Bfi2SX9c ****
    
    <?xml version="1.0" encoding="UTF-8"?>
    <削除> 
      <Quiet>false</Quiet>  
      <Object> 
        <Key>multipart.data</Key>
        <VersionId>CAEQNRiBgIDyz.6C0BYiIGQ2NWEwNmVhNTA3ZTQ3MzM5ODliYjM1ZTdjYjA4****</VersionId>
      </オブジェクト>
    </削除> 

    レスポンスの例

    この例では、削除されたオブジェクトのキーとバージョンIDが返されます。

    HTTP/1.1 200 OK
    x-oss-request-id: 5CAC371EB7AEADE01700 ****
    日付: 4月2019日火曜日06:09:34 GMT
    コンテンツ-長さ: 244
    Content-Type: application/xml
    接続: キープアライブ
    サーバー: 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>
        </削除済み>
    </DeleteResult> 
  • versionId要素を指定して削除マーカーを削除するサンプルリクエスト

    POST /? 削除HTTP/1.1
    ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
    日付: 4月2019日火曜日06:14:50 GMT
    コンテンツ-長さ: 178
    Content-MD5: dX9IFePFgYhmINvAhG30Bg==
    承認: OSS 9dfwrokza5gf1p7:iyl6IU6TcfFXcu5p0ds5dUdo ****
    
    <?xml version="1.0" encoding="UTF-8"?>
    <削除> 
      <Quiet>false</Quiet>  
      <Object> 
        <Key>multipart.data</Key>
        <VersionId>CAEQNRiBgICEoPiC0BYiIGMxZWJmYmMzYjE0OTQ0ZmZhYjgzNzkzYjc2NjZk****</VersionId>
      </オブジェクト>
    </削除> 

    レスポンスの例

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

    • DeleteMarkerは、削除マーカーが削除されることを示します。 DeleteMarkerVersionIdは、削除マーカーのバージョンIDを示します。 この場合、VersionId と DeleteMarkerVersionId の値は同じで、DeleteMarker と DeleteMarkerVersionId は一緒に返されます。

    HTTP/1.1 200 OK
    x-oss-request-id: 5CAC385AB7AEADE01700 ****
    日付: 4月2019日火曜日06:14:50 GMT
    コンテンツ-長さ: 364
    Content-Type: application/xml
    接続: キープアライブ
    サーバー: 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>
        </削除済み>
    </DeleteResult> 

SDK

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

参考資料

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

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

エラーコード

エラーコード

HTTPステータスコード

説明

InvalidDigest

400

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

MalformedXML

400

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

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

FileImmutable

409

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