打包下载API。
接口说明
- 
请确保在使用该接口前,已充分了解智能媒体管理产品的收费方式和价格。 注意 异步任务不保证时效。
- 
文件数量限制:最多支持打包 8 万个文件。 
- 
文件大小限制:打包前所有文件大小不超过 200 GB。 
- 
该功能支持 OSS 上的标准存储类型文件,如需要打包其他类型文件,请先转化文件的存储类型。 
- 
该接口为异步接口,获取任务开始执行后,任务信息只保存 7 天,超过 7 天则无法再获取。调用 GetTask 或 ListTasks 接口获取返回的 TaskId,查看任务信息。也可以通过设置 Notification 消息通知参数,通过消息通知获取任务信息。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:- 对于必选的资源类型,用前面加 * 表示。
- 对于不支持资源级授权的操作,用全部资源表示。
 
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
| 操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 | 
|---|---|---|---|---|
| imm:CreateFileCompressionTask | create | *Project acs:imm:{#regionId}:{#accountId}:project/{#ProjectName} | 
 | 无 | 
请求参数
| 名称 | 类型 | 必填 | 描述 | 示例值 | 
|---|---|---|---|---|
| ProjectName | string | 是 | 项目名称,获取方式请参见创建项目。 | test-project | 
| Sources | array<object> | 否 | 待打包的文件列表和打包规则描述。 说明 
与参数 SourceManifestURI 二选一,Sources 支持最多 100 条打包规则。
 警告  超长 100 条打包规则请使用参数 SourceManifestURI。 | |
| object | 否 | 待打包的文件的 OSS 地址和对应的打包规则描述。 | ||
| URI | string | 否 | 待打包的目录或文件的 OSS 地址。 OSS 地址规则为 oss://${Bucket}/${Object},其中 -打包目录时, 
 | oss://test-bucket/test-object | 
| Alias | string | 否 | 重定向待压缩文件在压缩包中的文件路径或重命名文件。 
 说明 
 /开头,例如/new-dir/alias.doc。 | /new-dir/ | 
| Mode | string | 否 | 指定打包规则的匹配模式,包括 
 | fullname | 
| CredentialConfig | CredentialConfig | 否 | 如无特殊需求,请保持留空即可。 链式授权配置,非必填。更多信息,请参见使用链式授权访问其他实体资源。 | |
| SourceManifestURI | string | 否 | 文件清单存储的地址。文件清单将 Sources 结构以 JSON 格式存储在 OSS 上,适用于打包文件较多的情况。 说明 
与参数 Sources二选一,其中URI参数必填,Alias参数选填。SourceManifestURI 支持最多 80000 条打包规则。警告  将内容保存到 OSS 上时,该参数需要传递 OSS 文件地址。 该文件内部结构示例:  | oss://test-bucket/test-object.json | 
| TargetURI | string | 是 | 输出文件的 OSS 地址。压缩文件将以该路径中的文件名称命名,例如 OSS 地址规则为 oss://${Bucket}/${Object},其中 | oss://test-bucket/test-target-object.zip | 
| CompressedFormat | string | 否 | 文件打包压缩类型。 说明 
目前仅支持 zip 格式。
 | zip | 
| UserData | string | 否 | 用户自定义信息,在异步消息通知中会为您返回,方便您系统内对消息通知进行关联处理。最大长度为 2048 字节。 | test-data | 
| Notification | Notification | 否 | 消息通知配置,详细内容请单击 Notification 查看,异步通知消息格式请参见异步通知消息格式。 说明 
智能媒体管理目前接口调用回调不支持指定回调地址,建议您使用 MNS。
 | 
典型场景中打包规则举例
对于如下示例的文件结构,对一些经典的场景示例说明:
(bucket)
├── test-dir1
│   ├── file1.txt
│   ├── file2.doc
│   ├── file3.png
│   └── my-file.json
└── test-dir2
    ├── AAA
    │   └── file.txt
    ├── AAA
    ├── file6.doc
    ├── file7.doc
    └── file8.doc
对指定文件夹进行打包
打包test-dir1下的所有文件打包到指定目录test-dir中,打包规则:
[
    {
        "URI"   : "oss://bucket/test-dir1/",
        "Alias" : "/test-dir/"
    }
]
生成的压缩包结构为:
.
└── test-dir
    ├── file1.txt
    ├── file2.doc
    ├── file3.png
    └── my-file.json
对指定前缀进行打包
打包前缀为test-dir1/file下的所有文件打包到指定目录test-dir中,打包规则:
[
    {
        "URI"   : "oss://bucket/test-dir1/file",
        "Alias" : "/test-dir/"
    }
]
生成的压缩包结构为:
.
└── test-dir
    ├── file1.txt
    ├── file2.doc
    └── file3.png
注意,如果使用前缀模式进行打包,会将同名的文件夹/文件同时打包进压缩包,例如:
[
    {
        "URI"   : "oss://bucket/test-dir2/AAA",
        "Alias" : "/AAA/"
    }
]
生成的压缩包结构为:
.
└── AAA
    ├── AAA
    └── file.txt
对指定的文件进行打包
如果不想使用前缀模式,可以通过设置mode参数准确的打包指定的文件:
[
    {
        "URI"   : "oss://bucket/test-dir2/AAA",
        "Alias" : "AAA",
        "mode"  : "fullname",
    },
    {
        "URI"   : "oss://bucket/test-dir1/",
        "Alias" : "/test-dir1/",
        "mode"  : "fullname",
    }
]
生成的压缩包结构为:
.
├── AAA
└── test-dir1
返回参数
示例
正常返回示例
JSON格式
{
  "RequestId": "EC564A9A-BA5C-4499-A087-D9B9E76E*****",
  "EventId": "0ED-1Bz8z71k5TtsUejT4UJ16Es*****",
  "TaskId": "FileCompression-3579a380-6f7a-4a9d-b9d2-65996*****"
}错误码
访问错误中心查看更多错误码。
变更历史
| 变更时间 | 变更内容概要 | 操作 | 
|---|---|---|
| 2023-11-20 | API 内部配置变更,不影响调用 | 查看变更详情 | 
| 2023-05-12 | OpenAPI 入参发生变更 | 查看变更详情 | 
| 2023-04-03 | OpenAPI 入参发生变更 | 查看变更详情 | 
| 2023-03-09 | OpenAPI 入参发生变更 | 查看变更详情 | 
