描述
本接口用于执行批量操作。
批量操作意指在单一请求中执行多次(最大限制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>&...
使用说明:
- 要在 Authorization 头部的 <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 响应头部)提交工单 给我们。
    文档反馈
    (如有产品使用问题,请 提交工单)