DeleteObjects

Prev Next

Classic/VPC環境で利用できます。

Ncloud Storageバケットに保存されている2つ以上のオブジェクトを一括削除します。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST -

リクエストヘッダ

リクエストヘッダの説明は次の通りです。

参考

Ncloud Storage APIで共通して使用されるヘッダの詳細は、Ncloud Storageのリクエストヘッダをご参照ください。

フィールド タイプ 必須の有無 説明
Content-MD5 String Conditional MD5ハッシュ値
  • x-amz-checksum-*を入力しなかった場合、必ず入力
x-amz-checksum-* String Conditional チェックサムのハッシュ値
  • キーの*にサポートするアルゴリズムを入力
    • サポートアルゴリズム: crc32 | crc32c | sha1 | sha256
  • Content-MD5を入力しなかった場合、必ず入力

リクエストクエリパラメータ

リクエストクエリパラメータの説明は次の通りです。

フィールド タイプ 必須の有無 説明
delete String Required オブジェクト削除リクエスト
  • 値なしでキーだけ入力

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
Delete Object Required オブジェクトリスト
Delete.Object Array Required オブジェクト情報
Delete.Quiet Boolean Optional レスポンスの詳細情報を省略するかどうか
  • true: 省略 (有効値)

Delete.Object

Delete.Objectの説明は次の通りです。

フィールド タイプ 必須の有無 説明
Key String Required オブジェクト名
VersionId String Optional オブジェクトバージョン ID
  • ListObjectVersionsを参照
  • バージョン管理が設定されたバケットでオブジェクトの特定のバージョンを削除する場合、入力
ETag String Optional オブジェクトの固有 ID(Entity Tag)
LastModifiedTime Integer Optional 最終更新日時
Size Integer Optional オブジェクトのサイズ(Byte)

リクエスト例

リクエストのサンプルコードは次の通りです。

POST /?delete HTTP/1.1
Host: {Bucket}.kr.ncloudstorage.com
Content-MD5: {Content-MD5}
<?xml version="1.0" encoding="UTF-8"?>
<Delete>
    <Object>
        <Key>Data1.xlsx</Key>
        <VersionId>89f83309-****-****-****-9cc2c468d0e9</VersionId>
    </Object>
    <Object>
        <Key>Data2.xlsx</Key>
    </Object>
</Delete>

レスポンス

レスポンス形式を説明します。

レスポンスヘッダ

Ncloud Storage APIで共通して使用されるヘッダの詳細は、Ncloud Storageのレスポンスヘッダをご参照ください。

レスポンスボディ

レスポンスボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
DeleteResult Object - 削除リクエストオブジェクト情報
DeleteResult.Deleted Array - 削除成功オブジェクトリスト
DeleteResult.Error Array - 削除失敗オブジェクトリスト

DeleteResult.Deleted

DeleteResult.Deletedの説明は次の通りです。

フィールド タイプ 必須の有無 説明
Key String - オブジェクト名
VersionId String - オブジェクトのバージョン ID
  • リクエストにVersionIdを入力した場合、表示
DeleteMarker Boolean - 削除マーカーかどうか
  • true | false
    • true: 削除マーカー
    • false: 削除マーカーではない
DeleteMarkerVersionId String - 削除マーカーのバージョン ID
  • バージョン管理が設定されたバケットで削除をキャンセルする場合、次のリクエストのVersionIdにこの値を入力

DeleteResult.Error

DeleteResult.Errorの説明は次の通りです。

フィールド タイプ 必須の有無 説明
Key String - オブジェクト名
VersionId String - オブジェクトバージョン ID
Code String - エラーコード
Message String - エラーメッセージ

レスポンスステータスコード

Ncloud Storage APIで共通して使用されるレスポンスステータスコードの詳細は、Ncloud Storageのレスポンスステータスコードをご参照ください。

レスポンス例

レスポンスのサンプルコードは次の通りです。

全削除が成功した場合

全削除が成功した場合のレスポンスのサンプルコードは次の通りです。

HTTP/1.1 200 OK

<?xml version="1.0" encoding="UTF-8"?>
<DeleteResult>
    <Deleted>
        <Key>Data1.xlsx</Key>
        <DeleteMarker>true</DeleteMarker>
        <DeleteMarkerVersionId>b253ab10-****-****-****-9cc2c468d0e9</DeleteMarkerVersionId>
    </Deleted>
    <Deleted>
        <Key>Date2.xlsx</Key>
        <DeleteMarker>true</DeleteMarker>
        <DeleteMarkerVersionId>b253aad9-****-****-****-9cc2c468d0e9</DeleteMarkerVersionId>
    </Deleted>
</DeleteResult>
参考

リクエストボディのオブジェクト情報がコンソールに登録した情報と一致しない場合、Content-MD5またはx-amz-checksum-*ヘッダ値がリクエストボディと一致して200 OKが返されてもそのオブジェクトは削除されない場合があります。そのため、APIの呼び出し後、コンソールでオブジェクトが正常に削除されたことを確認してください。

一部削除のみ成功した場合

一部削除のみ成功した場合のレスポンスのサンプルコードは次の通りです。

HTTP/1.1 200 OK

<DeleteResult>
    <Deleted>
        <Key>Data2.xlsx</Key>
        <DeleteMarker>true</DeleteMarker>
        <DeleteMarkerVersionId>f201de46-****-****-****-9cc2c468d0e9</DeleteMarkerVersionId>
    </Deleted>
    <Error>
        <Key>Data1.xlsx</Key>
        <VersionId>&#x9;89f83309-****-****-****-9cc2c468d0e9</VersionId>
        <Code>InvalidArgument</Code>
        <Message>Invalid version id specified</Message>
    </Error>
</DeleteResult>