本接口支持将指定的若干文件进行压缩并打包为 ZIP 包,并将结果上传至指定服务。同时,在打包的过程中,支持对各文件重命名,以及自定义压缩规则与压缩包名称。
本接口支持以下两种待压缩文件的提交方式:
方式 1:FlieList 方式:需配置待压缩文件的公网访问 URL 与 Alias,Folder 配置,文件不得超过 3000 个。
方式 2:IndexFile 方式:在 .txt 文件(索引文件)内填写待压缩文件相关配置,每行需填写 StoreUri/URL,Alias,Folder
相关配置,并将该索引文件上传至指定的 veImageX 存储服务,并获取索引文件在该服务的 StoreUri。
索引文件内支持填写的文件地址有以下两种类型,但单个索引文件内的文件地址类型需要保持一致,不支持混用。
填写待压缩文件的公网访问 URL,veImageX 将按序依次下载公网文件。您可下载 Compress_StoreUri.txt 参考示例,完成 URL 类型索引文件的填写。
【推荐】填写待压缩文件的 StoreUri,您需要提前将该文件上传至指定的 veImageX 存储服务。您可下载 Compress_StoreUri.txt 参考示例,完成 StoreUri 类型索引文件的填写。
注意
如果待压缩文件的地址为公网 URL 类型,那么 veImageX 将在解析到文件地址后,依次去公网下载文件。如果提交的这批文件的原始总大小超过了 45000MB,那么当下载量达到 45000MB 时,接口会提示该压缩任务失败,但此时已产生对应 45000MB 文件的公网流出费用。
由于 veImageX 对于公网下载文件的缓存时间为 30 个自然日,那么您可在任务失败后的 30 天内重新创建已缓存文件的压缩任务,期间不再重复收费。
说明
veImageX 在全球多个区域部署,每个区域有自己对应的 OpenAPI 域名,不支持跨区域调用。具体详情请查看服务地址。
以下请求参数列表仅列出了该接口的部分公共参数,完整公共参数列表见公共参数。
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | CreateImageCompressTask | 接口名称。当前 API 的名称为 CreateImageCompressTask 。 |
Version | String | 是 | 2018-08-01 | 接口版本。当前 API 的版本为 2018-08-01 。 |
ServiceId | String | 是 |
| 压缩文件存储的目标服务 ID。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
FileList | Array of FileList | 否 |
| 与 |
IndexFile | String | 否 |
| 与 |
Output | String | 否 | testcompress | 压缩后文件压缩包的指定名称,默认为随机 Key。 |
ZipMode | Integer | 是 |
| 文件的处理方式,取值如下所示:
|
Callback | String | 否 | http://test.com | POST 类型的回调 URL,用于接收相关回调 JSON 类型数据。回调参数请参考回调内容。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Url | String | 是 | http://test.imagex.com/tos-cn-i-rw****qr/86****4c.png~tplv-rw***qr-6.image | 公网可访问的待压缩文件 URL |
Alias | String | 否 |
|
|
Folder | String | 否 |
| 指定源文件在压缩包中的文件夹,不传时则将该资源存储至一级目录下。输入规则如下所示:
注意
|
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
TaskId | String | 82370***12102 | 压缩任务 ID |
POST https://imagex.volcengineapi.com/?Action=CreateImageCompressTask&Version=2018-08-01&ServiceId=7g%2A%2A2i { "FileList":[ { "Url":"http://test.imagex.com/tos-cn-i-rw****qr/86****4c.png~tplv-rw***qr-6.image", "Alias":"compress1", "Folder":"" }, { "Url":"http://test.imagex.com/tos-cn-i-rw****qr/90****5j.png~tplv-rw***qr-1.image", "Alias":"compress2", "Folder":"a/b" } ], "Output":"compress_test", "ZipMode":0, "Callback":"http://test.com" }
{ "ResponseMetadata": { "RequestId": "202306041104200100100232280022D31", "Action": "CreateImageCompressTask", "Version": "2018-08-01", "Service": "imagex", "Region": "cn-north-1" }, "Result": { "TaskId": "82370***12102" } }
访问公共错误码和 veImageX 错误码获取详细信息。
为了方便您快速开发,veImageX 提供了配套的服务端 SDK,同时支持多种编程语言。建议您使用服务端 SDK 来调用 API,参考文档如下所示:
参数名称 | 参数类型 | 参数描述 |
---|---|---|
TaskId | String | 异步压缩任务 ID |
Status | String | 任务状态,取值如下所示:
|
OutputUri | String | 压缩包 StoreUri。 |
Err | String | 错误信息。仅当Status 为Failed 时,该值不为空。 |
Code | Integer | 错误码。仅当Status 为Failed 时,该值不为 0。 |
StartTime | int 64 | 创建开始时间,unix 时间,单位为纳秒。 |
EndTime | int 64 | 创建结束时间,unix 时间,单位为纳秒。 |
TimeCost | int 64 | 打包耗时时间,unix 时间,单位为毫秒。 |
ErrUrls | Array of String | 打包失败的 URL/Uri 列表。 |
回调示例如下所示。
{ "TaskId": "82370***12102", "Status": "Failed", "OutputUri": "tos-cn-i-hr***pr/testcompress.txt", "Err": "压缩失败", "Code": 604026, "StartTime": 1641027296000000000, "EndTime": 1641037921000000000, "TimeCost": 1200000, "ErrUrls": { "tos-cn-i-hr***pr/1.png", "tos-cn-i-hr***pr/test.jpg" } }