多文件压缩

描述

该接口提供在云存储平台对指定多文件进行打包压缩的功能。当前仅支持ZIP压缩

请求说明

POST /fmgr/compress
Host: <MgrDomain>
Authorization: <accessToken>

头部说明

参数 必填 描述
HOST 管理域名,可在用户管理界面获取
Authorization 管理凭证

参数说明

请求参数以如下格式组织,作为请求内容提交:

fops=bucket/<Urlsafe_Base64_Encoded_Bucket>/keys/<Urlsafe_Base64_Encoded_key1|Urlsafe_Base64_Encoded_key2|Urlsafe_Base64_Encoded_key3|……>/keyList/<Urlsafe_Base64_Encoded_keyList>/saveas/<Urlsafe_Base64_Encoded(<bucket:filekey>)>&notifyURL=<Urlsafe_Base64_Encoded_notifyUrl>&separate=<Separate>&force=<Force>
    
参数 必填 描述
fops 处理参数列表,格式为上述说明,支持同时请求多个处理,参数列表之间用 ; 分隔.
bucket 待压缩文件所在的存储空间。
<Urlsafe_Base64_Encoded_bucket>为对指定Bucket名称进行URL安全的Base64编码后的字符串。
keys 待压缩的文件或目录,资源之间以¦分隔。
注:
1、若keyList参数存在,该参数可不填
2、以/结尾,表示该key值为目录
keyList 待压缩的文件或目录信息的索引文件路径。
当需要压缩大量文件或者目录,可以将待压缩信息一条一行(不需要URL encoding)写入索引文件,再把索引文件上传到空间,通过指定索引文件路径,压缩索引文件内容指定的相应文件及目录。
注:若keys参数存在,该参数可不填
saveas 输出文件保存路径。
参数中需要填入"空间:文件名"URL安全的Base64编码后的值
notifyURL 处理结果通知接收URL,需要使用URL安全的Base64编码,通知内容格式见任务查询接口的返回内容。
separate 处理指令是否分开通知。设置1和0作为选项码:
1:表示每个指令执行完后都通知notifyURL
0:表示所有指令执行完后再一次性通知notifyURL
默认值为0。
force 是否强制执行处理。
1:强制执行数据处理并覆盖原结果。
0:若数据处理结果已存在,则认为处理成功,避免重复处理浪费资源。
默认值为0。

注:
1. keys、keyList参数都填写,keys参数生效。
2. 指定的部分需要压缩的文件或者目录不存在或者目录为空,忽略该文件或者目录进行压缩;若指定压缩的文件都不存在,压缩失败。
3. keyList索引文件内容格式规范:一条一行(不需要URI encoding)(UTF-8编码)

例如,空间内存在test/keyList.txt,内容如下
1.jpg
dir1/
2.jpg
test.jpg
……
指定keyList为test/keyList.txt,则表示对“1.jpg、dir1/、2.jpg、test.jpg、……”进行压缩

4. 压缩后保留原有目录结构。例如:存在目录test/test1/,test1目录下有test2(空目录)及1.jpg、test3目录(存在2.jpg文件),将目录test/test1/指定压缩成a.zip。则a.zip解压后,目录结构如下:

test(目录)
|---test1(目录)
    |---1.jpg(文件)
    |---test3(目录)
        |---2.jpg

响应说明

如果请求成功,则返回如下内容的Json串:

{ "persistentId": <persistentId> }
字段名 必填 描述
persistentId 任务进程ID,可以用于查询任务进度。

如果请求失败,则返回如下内容的Json字符串:

{
    "code":     "<code string>",
    "message":  "<ErrMsg string>"
}
字段名 必填 描述
code HTTP请求响应码,参见HTTP响应状态码<返回码>
message 请求失败的提示信息

范例

curl -v -X POST -d "fops=bucket/bXlidWNrZXQ=/keys/MS5qcGc=|Mi5qcGc=|My5qcGc=/saveas/bXlidWNrZXQyOjEuemlw;bucket/bXlidWNrZXQ=/keyList/dGVzdC9jb21wcmVzcy50eHQ=/saveas/bXlidWNrZXQyOjIuemlw&notifyURL=aHR0cDovL3Rlc3QuY29tL25vdGlmeVVSbA==&separate=1&force=0" -H "Authorization:86622e227a50d49d858c2494a935bc2e4ac543a7:Y2JmMGY0YTNhZmQxZmVlZGM2ZTA0YTdjNTcyOWQ1NjRkNTExYjg0Yg==" --url "http://mgrDomain/fmgr/compress"