本接口用于执行批量操作。
批量操作意指在单一请求中执行多次(最大限制1000次) 查询元信息、修改元信息、移动、复制、删除、修改状态、修改存储类型、修改生命周期 和 解冻 操作,极大提高资源管理效率。 其中,解冻操作仅针对归档/深度归档存储文件有效。
POST /batch HTTP/1.1
Host: rs.qiniuapi.com
Content-Type: application/x-www-form-urlencoded
X-Qiniu-Date: 20060102T150405Z
Authorization: Qiniu <AccessToken>
op=<Operation>&op=<Operation>&...
使用说明:
<AccessToken> 前添加 Qiniu 和半角空格。op=<Operation> 是单一文件管理指令(如:/stat/<EncodeEntryURI>,/delete/<EncodeEntryURI> 等)。
将根据具体 op=<Operation> 文件管理指令,使用相应参数。
常用参数 EncodeEntryURI、EncodedEntryURISrc 与 EncodedEntryURIDest 经过 Base64 编码,具体请参考 请参考EncodedEntryURI。
| 头部名称 | 必填 | 说明 |
|---|---|---|
| Content-Type | 是 | 固定为 application/x-www-form-urlencoded |
| Authorization | 是 | 该参数应严格按照管理凭证格式进行填充,否则会返回 401 错误码 一个合法的 Authorization 值应类似于: |
| 其他 | 请查阅公共请求头 |
#批量获取元信息
op=/stat/<EncodedEntryURI>&op=/stat/<EncodedEntryURI>&...
#批量复制资源
op=/copy/<EncodedEntryURISrc>/<EncodedEntryURIDest>&op=/copy/<EncodedEntryURISrc>/<EncodedEntryURIDest>&.../force/<true|false>
#批量移动资源
op=/move/<EncodedEntryURISrc>/<EncodedEntryURIDest>&op=/move/<EncodedEntryURISrc>/<EncodedEntryURIDest>&.../force/<true|false>
#批量删除资源
op=/delete/<EncodedEntryURI>&op=/delete/<EncodedEntryURI>&...
#批量解冻资源
op=/restoreAr/<EncodedEntryURI>/freezeAfterDays/<FreezeAfterDays>&...
#批量修改元信息
......
#批量修改存储类型
......
#批量修改状态
......
#批量修改生命周期
......
#混合多种操作
op=/stat/<EncodedEntryURI>&op=/copy/<EncodedEntryURISrc>/<EncodedEntryURIDest>/force/<true|false>&op=/move/<EncodedEntryURISrc>/<EncodedEntryURIDest>/force/<true|false> &op=/delete/<EncodedEntryURI>&op=/restoreAr/<EncodedEntryURI>/freezeAfterDays/<FreezeAfterDays>&...
注:copy 和 move 操作需为每个文件指定force参数。
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
| 头部名称 | 必填 | 说明 |
|---|---|---|
| Content-Type | 是 | 正常情况下该值将被设为 application/json,表示返回 JSON 格式的文本信息。 |
| 其他 | 其它可能返回的头部信息,请参考公共响应头。 |
#批量获取元信息
[
{ "code": <HttpCode int>, "data": <Data> },
{ "code": <HttpCode int>, "data": <Data> },
{ "code": <HttpCode int>, "data": { "error": "<ErrorMessage string>" } },
...
]
#批量复制资源
[
{ "code": <HttpCode int> },
{ "code": <HttpCode int> },
{ "code": <HttpCode int>, "data": { "error": "<ErrorMessage string>" } },
...
]
#批量移动资源
[
{ "code": <HttpCode int> },
{ "code": <HttpCode int> },
{ "code": <HttpCode int>, "data": { "error": "<ErrorMessage string>" } },
...
]
#批量删除资源
[
{ "code": <HttpCode int> },
{ "code": <HttpCode int> },
{ "code": <HttpCode int>, "data": { "error": "<ErrorMessage string>" } },
...
]
#批量解冻资源
[
{ "code": <HttpCode int> },
{ "code": <HttpCode int> },
{ "code": <HttpCode int>, "data": { "error": "<ErrorMessage string>" } },
...
]
#混合多种操作
[
{ "code": <HttpCode int>, "data": <Data> },
{ "code": <HttpCode int> },
{ "code": <HttpCode int> },
{ "code": <HttpCode int> },
{ "code": <HttpCode int>, "data": { "error": "<ErrorMessage string>" } },
...
]
| HTTP状态码 | 含义 |
|---|---|
| 200 | 所有请求操作都已成功完成 |
| 298 | 部分或所有请求操作失败(出错信息参看上述响应内容) |
| 400 | 请求报文格式错误 |
| 401 | 管理凭证无效 |
| 403 | 禁止操作 当非归档/深度归档存储类型 Object 调用此接口指定 op=restoreAr 时,返回 403 Fobbiden {"error": "operation only allowed for archive or deep archive"} |
| 599 | 服务端操作失败 |
| 其他错误码 | 请查阅错误响应 |
如遇 599 错误,请将完整错误信息(包括所有 HTTP 响应头部)提交工单 给我们。