批量操作意指在单一请求中执行多次获取元信息、移动、复制、删除和解冻操作,极大提高资源管理效率。 其中,解冻操作仅针对归档存储文件有效。
请求报文
请求语法
POST /batch HTTP/1.1
Host: rs.qbox.me
Content-Type: application/x-www-form-urlencoded
Authorization: Qiniu <AccessToken>
op=<Operation>&op=<Operation>&...
注意:要在 Authorization 头部的<AccessToken>
前添加 Qiniu 和半角空格。其中op=<Operation>
是单一资源管理指令(如:/stat/<EncodeEntryURI>
,/delete/<EncodeEntryURI>
)。
EncodeEntryURI、EncodedEntryURISrc 与 EncodedEntryURIDest 的细节请参考EncodedEntryURI。
访问权限
管理凭证方式。
头部信息
头部名称 | 必填 | 说明 |
---|---|---|
Content-Type | 是 | 固定为 application/x-www-form-urlencoded |
Authorization | 是 | 该参数应严格按照管理凭证格式进行填充,否则会返回401错误码 一个合法的 Authorization 值应类似于:Qiniu QNJi_bYJlmO5LeY08FfoNj9w_r7... |
请求内容
#批量获取元信息
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格式的文本信息。 |
其它可能返回的头部信息,请参考HTTP扩展字段。
响应内容
#批量获取元信息
[
{ "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 调用此接口时,返回 403 Fobbiden {"error": "operation not allowed for archive"} |
599 | 服务端操作失败 |
文档反馈
(如有产品使用问题,请提交工单)