delete-multiple-objects

delete-multiple-objects用于删除同一个存储空间(Bucket)中的多个文件(Object)。

注意事项

  • 阿里云账号默认拥有删除对象的标签的权限。如果您需要通过RAM用户或者STS的方式进行删除,您必须拥有oss:DeleteObject权限。具体操作,请参见RAM用户授权自定义的权限策略

  • 单次调用delete-multiple-objects最多允许删除1000个文件。

  • 文件删除后无法恢复,请谨慎操作。

命令格式

ossutil api delete-multiple-objects --bucket value --delete value [flags]

参数

类型

说明

--bucket

string

Bucket名称。

--delete

string

删除配置选项。

--encoding-type

string

指定对返回的内容进行编码,指定编码的类型。

说明

delete-multiple-objects命令对应API接口DeleteMultipleObjects。关于API中的具体参数含义,请参见DeleteMultipleObjects

--delete

--delete配置选项既支持XML语法也支持JSON语法,当选项值包含file://前缀时,表示从文件中读取配置。

  • XML语法:

    <Delete>
        <Quiet>false</Quiet>
        <Object>
            <Key>string</Key>
            <VersionId>string</VersionId>
        </Object>
        <Object>
            <Key>string</Key>
            <VersionId>string</VersionId>
        </Object>
    </Delete>
  • JSON语法:

    {
      "Quiet": "false",
      "Object": [
        {
          "Key": "string",
          "VersionId": "string"
        },
        {
          "Key": "string",
          "VersionId": "string"
        }
      ]
    }
说明

关于支持的全局命令行选项,请参见支持的全局命令行选项

使用示例

  • 删除目标存储examplebucket中的多个object。

    • 使用XML配置文件,delete.xml内容如下:

      <?xml version="1.0" encoding="UTF-8"?>
      <Delete>
          <Quiet>false</Quiet>
          <Object>
              <Key>multipart.data</Key>
          </Object>
          <Object>
              <Key>test.jpg</Key>
          </Object>
      </Delete>

      命令示例如下:

      ossutil api delete-multiple-objects --bucket examplebucket --delete file://delete.xml
    • 使用JSON配置文件,delete.json内容如下:

      {
        "Quiet": "false",
        "Object": [
          {
            "Key": "multipart.data"
          },
          {
            "Key": "test.jpg"
          }
        ]
      }

      命令示例如下:

      ossutil api delete-multiple-objects --bucket examplebucket --delete file://delete.json
    • 使用JSON配置参数,命令示例如下:

      ossutil api delete-multiple-objects --bucket examplebucket --delete "{\"Quiet\":\"false\",\"Object\":[{\"Key\":\"multipart.data\"},{\"Key\":\"test.jpg\"}]}"
  • 删除目标存储examplebucket中的多个指定版本的object。

    • 使用XML配置文件,delete.xml内容如下:

      <?xml version="1.0" encoding="UTF-8"?>
      <Delete>
          <Quiet>false</Quiet>
          <Object>
              <Key>multipart.data</Key>
          </Object>
          <Object>
              <Key>test.jpg</Key>
          </Object>
      </Delete>

      命令示例如下:

      ossutil api delete-multiple-objects --bucket examplebucket --delete file://delete.xml
    • 使用JSON配置文件,delete.json内容如下:

      {
        "Quiet": "false",
        "Object": [
          {
            "Key": "multipart.data",
            "VersionId": "CAEQNRiBgIDyz.6C0BYiIGQ2NWEwNmVhNTA3ZTQ3MzM5ODliYjM1ZTdjYjA4****"
          },
          {
            "Key": "test.jpg",
            "VersionId": "CAEQMhiBgIDB3aWB0BYiIGUzYTA3YzliMzVmNzRkZGM5NjllYTVlMjYyYWEy****"
          }
        ]
      }

      命令示例如下:

      ossutil api delete-multiple-objects --bucket examplebucket --delete file://delete.json
    • 使用JSON配置参数,命令示例如下:

      ossutil api delete-multiple-objects --bucket examplebucket --delete file://delete.json