CreateFileCompressionTask - 创建文件压缩任务

更新时间:
复制为 MD 格式

打包下载API

接口说明

说明

接口公测中,如有任何使用问题,请加入钉钉群进行反馈,钉钉群号请参见联系我们

说明

该接口目前支持打包,不支持压缩,后续会增加压缩功能。

  • 请确保在使用该接口前,已充分了解智能媒体管理产品的收费方式和价格

    重要 异步任务不保证时效。

  • 文件数量限制:最多支持打包 8 万个文件。

  • 文件大小限制:打包前所有文件大小不超过 200 GB。

  • 该功能支持 OSS 上的标准存储类型文件,如需要打包其他类型文件,请先转化文件的存储类型

  • 该接口为异步接口,获取任务开始执行后,任务信息只保存 7 天,超过 7 天则无法再获取。调用 GetTaskListTasks 接口获取返回的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},其中${Bucket}为和当前项目处于同一区域(Region)的 OSS Bucket 名称,${Object} 说明如下:

  • 打包目录时,${Object}为目录名称。

  • 打包文件时,${Object}为包含文件扩展名的文件完整路径。

oss://test-bucket/test-object

Alias

string

重定向待压缩文件在压缩包中的文件路径或重命名文件。

  • 不填写该参数。保留源目录结构进行压缩,例如源文件地址为oss://test-bucket/test-dir/test-object.doc,则压缩包中文件路径为/test-dir/test-object.doc

  • 重命名文件。重命名压缩包中的文件名称,例如源文件地址为oss://test-bucket/test-object.jpg,指定参数为/test-rename-object.jpg,则压缩包中文件名称为test-rename-object.jpg

  • 重新指定源文件在压缩包中的文件路径。例如源目录地址为oss://test-bucket/test-dir/,指定参数为/new-dir/,则源目录下所有文件都会被压缩到路径/new-dir/中。

  • 指定为/,去除源目录结构。所有文件将直接放置在压缩包的根目录下,而不保留原有的目录结构。

  • 同时指定路径和文件名。按照重新指定的路径和文件名重命名。例如,指定参数为/new-dir/alias.doc,则会将文件重命名为alias.doc并放置在压缩包的/new-dir/路径下。

说明
  • 请避免在重命名过程中出现重名文件的情况,出现此情况时压缩包内的重名文件可能无法解压(取决于您使用的解压程序)。

  • 格式要求:必须以/开头,例如/new-dir/alias.doc

/new-dir/

Mode

string

指定打包规则的匹配模式,包括prefix(表示前缀模式)和fullname(表示精准匹配),默认为prefix

  • prefix:前缀模式,解析该条打包规则时,前缀模式匹配所有符合规则的文件。

  • fullname:精准匹配,按照规则精准匹配文件,只会匹配到一个文件。

枚举值:

  • prefix :

    prefix

  • fullname :

    fullname

fullname

CredentialConfig CredentialConfig

如无特殊需求,请保持留空即可。

链式授权配置,非必填。更多信息,请参见使用链式授权访问其他实体资源

SourceManifestURI

string

文件清单存储的地址。文件清单将 Sources 结构以 JSON 格式存储在 OSS 上,适用于打包文件较多的情况。

说明

与参数Sources二选一,其中URI参数必填,Alias参数选填。SourceManifestURI 支持最多 80000 条打包规则。

警告 将内容保存到 OSS 上时,该参数需要传递 OSS 文件地址。

该文件内部结构示例:

[{"URI":"oss://<bucket>/<object>", "Alias":"/new-dir/new-name"}]

oss://test-bucket/test-object.json

TargetURI

string

输出文件的 OSS 地址。压缩文件将以该路径中的文件名称命名,例如name.zip

OSS 地址规则为 oss://${Bucket}/${Object},其中${Bucket}为和当前项目处于同一区域(Region)的 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

返回参数

名称

类型

描述

示例值

object

响应结构体

RequestId

string

请求 ID。

EC564A9A-BA5C-4499-A087-D9B9E76E*****

EventId

string

事件 ID。

0ED-1Bz8z71k5TtsUejT4UJ16Es*****

TaskId

string

任务 ID。

FileCompression-3579a380-6f7a-4a9d-b9d2-65996*****

示例

正常返回示例

JSON格式

{
  "RequestId": "EC564A9A-BA5C-4499-A087-D9B9E76E*****",
  "EventId": "0ED-1Bz8z71k5TtsUejT4UJ16Es*****",
  "TaskId": "FileCompression-3579a380-6f7a-4a9d-b9d2-65996*****"
}

错误码

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情