对象存储

  • 对象存储 > API 文档 > Object 接口 > 批量操作

    批量操作

    最近更新时间:2021-11-12 17:00:39

    描述

    本接口用于执行批量操作。
    批量操作意指在单一请求中执行多次(最大限制1000次) 查询元信息修改元信息移动复制删除修改状态修改存储类型修改生命周期解冻 操作,极大提高资源管理效率。 其中,解冻操作仅针对归档存储文件有效。


    请求

    请求语法

    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> 等)。



    请求参数

    将根据具体 op=<Operation> 文件管理指令,使用相应参数。
    常用参数 EncodeEntryURIEncodedEntryURISrcEncodedEntryURIDest 经过 Base64 编码,具体请参考 请参考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 格式的文本信息。
    其他 其它可能返回的头部信息,请参考公共响应头

    响应内容

    #批量获取元信息
    [
        { "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 服务端操作失败
    其他错误码 请查阅错误响应

    如遇 599 错误,请将完整错误信息(包括所有 HTTP 响应头部)提交工单 给我们。


    以上内容是否对您有帮助?
  • Qvm free helper
    Close