简介
本文档提供关于数据万象文件压缩的 API 概览以及 SDK 示例代码。
API | 操作描述 |
提交多文件打包压缩任务 | 以提交任务的方式进行多文件打包压缩任务 |
查询多文件打包压缩结果 | 主动查询指定的多文件打包压缩任务结果 |
提交多文件打包压缩任务
功能说明
多文件打包压缩功能可以将您的多个文件,打包为 zip 等压缩包格式,以提交任务的方式进行多文件打包压缩,异步返回打包后的文件。
方法原型
func (s *CIService) CreateFileProcessJob(ctx context.Context, opt *FileProcessJobOptions) (*FileProcessJobResult, *Response, error)
请求示例
createJobOpt := &cos.FileProcessJobOptions{ Tag: "FileCompress", Operation: &cos.FileProcessJobOperation{ FileCompressConfig: &cos.FileCompressConfig{ Format: "zip", Flatten: "0", Key: []string{"1.mp3", "2.jpg"}, }, Output: &cos.FileProcessOutput{ Region: "ap-shanghai", Bucket: "test-1250000000", Object: "vvvvxxxzz.zip", }, },}res, _, err := c.CI.CreateFileProcessJob(context.Background(), createJobOpt)
参数说明
type FileProcessJobOptions struct { XMLName xml.Name Tag string Operation *FileProcessJobOperation QueueId string CallBackFormat string CallBackType string CallBack string CallBackMqConfig *NotifyConfigCallBackMqConfig}
type FileProcessJobOperation struct { FileCompressConfig *FileCompressConfig FileCompressResult *FileCompressResult Output *FileProcessOutput UserData string}
type FileCompressConfig struct { Flatten string Format string UrlList string Prefix string Key []string Type string CompressKey string
}
type FileCompressResult struct { Region string Bucket string Object string}
type FileProcessOutput struct { Region string Bucket string Object string}
type NotifyConfigCallBackMqConfig struct { MqMode string MqRegion string MqName string}
参数名称 | 描述 | 类型 | 是否必选 |
Tag | 创建任务的 Tag,目前仅支持:FileCompress | String | 是 |
Operation | 操作规则 | Container | 是 |
Operation.FileCompressConfig | 指定文件打包压缩的处理规则 | Container | 是 |
Operation.FileCompressConfig.Flatten | 文件打包时,是否需要去除源文件已有的目录结构,有效值:0:不需要去除目录结构,打包后压缩包中的文件会保留原有的目录结构;1:需要,打包后压缩包内的文件会去除原有的目录结构,所有文件都在同一层级。例如:源文件 URL 为 https://domain/source/test.mp4, 则源文件路径为 source/test.mp4,如果为 1,则 ZIP 包中该文件路径为 test.mp4;如果为0, ZIP 包中该文件路径为 source/test.mp4 | String | 是 |
Operation.FileCompressConfig.Format | 打包压缩的类型,有效值:zip、tar、tar.gz | String | 是 |
Operation.FileCompressConfig.UrlList | 支持将需要打包的文件整理成索引文件,后台将根据索引文件内提供的文件 url,打包为一个压缩包文件索引文件需要保存在当前存储桶中,本字段需要提供索引文件的对象地址,例如:/test/index.csv索引文件格式:仅支持 CSV 文件,一行一条 URL(仅支持本存储桶文件),如有多列字段,默认取第一列作为URL。最多不超过10000个文件,总大小不超过50G, 否则会导致任务失败 | String | 否 |
Operation.FileCompressConfig.Prefix | 支持对存储桶中的某个前缀进行打包,如果需要对某个目录进行打包,需要加/,例如test目录打包,则值为:test/。最多不超过10000个文件,总大小不超过50G,否则会导致任务失败 | String | 否 |
Operation.FileCompressConfig.Key | 支持对存储桶中的多个文件进行打包,个数不能超过 1000, 总大小不超过50G,否则会导致任务失败 | String 数组 | 否 |
Operation.FileCompressConfig.Type | 压缩类型,仅在Format为tar.gz或zip时有效。faster:压缩速度较快better:压缩质量较高,体积较小default:适中的压缩方式默认值为default | String | 否 |
Operation.FileCompressConfig.CompressKey | 压缩包密钥,传入时需先经过 base64 编码, 编码后长度不能超过128。当 Format 为 zip 时生效 | String | 否 |
Operation.FileCompressResult | 多文件打包压缩的结果,提交任务时不需要填写 | Container | 否 |
Operation.Output | 指定文件处理后的文件保存的地址信息 | Container | 是 |
Operation.Output.Region | 存储桶的地域 | String | 是 |
Operation.Output.Bucket | 保存压缩后文件的存储桶 | String | 是 |
Operation.Output.Object | 压缩后文件的文件名 | String | 是 |
Operation.UserData | 透传用户信息,可打印的 ASCII 码,长度不超过1024 | String | 否 |
QueueId | 任务所在的 队列 ID | String | 否 |
CallBackFormat | 任务回调格式,JSON 或 XML,默认 XML,优先级高于队列的回调格式 | String | 否 |
CallBackType | 任务回调类型,Url 或 TDMQ,默认 Url,优先级高于队列的回调类型 | String | 否 |
CallBack | 任务回调的地址,优先级高于队列的回调地址 | String | 否 |
CallBackMqConfig | 任务回调 TDMQ 配置,当 CallBackType 为 TDMQ 时必填。详情见 CallBackMqConfig | Container | 否 |
说明:在 Operation.FileCompressConfig 中,UrlList、Prefix、Key 三者仅能选择一个,不能都为空,也不会同时生效。如果填了多个,会按优先级 UrlList > Prefix > Key 取最高优先级执行。
返回结果说明
type FileProcessJobResult struct { JobsDetail FileProcessJobResult}type FileProcessJobResult struct { Code string Message string JobId string Tag string State string CreationTime string StartTime string EndTime string QueueId string Input *FileProcessInput Operation *FileProcessJobOperation}
参数名称 | 描述 | 类型 |
JobsDetail | 任务的详细信息 | Container |
Code | 错误码,只有 State 为 Failed 时有意义 | String |
Message | 错误描述,只有 State 为 Failed 时有意义 | String |
JobId | 新创建任务的 ID | String |
Tag | 新创建任务的 Tag:FileCompress | String |
State | 任务的状态,为 Submitted、Running、Success、Failed、Pause、Cancel 其中一个 | String |
CreationTime | 任务的创建时间 | String |
StartTime | 任务的开始时间 | String |
EndTime | 任务的结束时间 | String |
QueueId | 任务所属的队列 ID | String |
Input | 该任务的输入文件路径,详情请参见 FileProcessJobOptions.Input | Container |
Operation | 该任务的规则,详情请参见 FileProcessJobOptions.Operation | Container |
查询多文件打包压缩结果
功能说明
查询一个文件处理任务,根据任务 ID 查询任务详情。
方法原型
func (s *CIService) DescribeFileProcessJob(ctx context.Context, jobid string) (*FileProcessJobResult, *Response, error)
请求示例
jobid := ""res, _, err := c.CI.DescribeFileProcessJob(context.Background(), jobid)
参数说明
参数名称 | 描述 | 类型 | 是否必选 |
jobid | 文件处理任务 ID | String | 是 |
返回结果说明
type FileProcessJobResult struct { JobsDetail *FileProcessJobsDetail}
type FileProcessJobsDetail struct { Code string `xml:",omitempty"` Message string `xml:",omitempty"` JobId string `xml:",omitempty"` Tag string `xml:",omitempty"` State string `xml:",omitempty"` CreationTime string `xml:",omitempty"` StartTime string `xml:",omitempty"` EndTime string `xml:",omitempty"` QueueId string `xml:",omitempty"` Input *FileProcessInput `xml:",omitempty"` Operation *FileProcessJobOperation `xml:",omitempty"`}
参数名称 | 描述 | 类型 |
JobsDetail | 任务的详细信息 | Container |
Code | 错误码,只有 State 为 Failed 时有意义 | String |
Message | 错误描述,只有 State 为 Failed 时有意义 | String |
JobId | 新创建任务的 ID | String |
Tag | 新创建任务的 Tag:FileCompress | String |
State | 任务的状态,为 Submitted、Running、Success、Failed、Pause、Cancel 其中一个 | String |
CreationTime | 任务的创建时间 | String |
StartTime | 任务的开始时间 | String |
EndTime | 任务的结束时间 | String |
QueueId | 任务所属的队列 ID | String |
Input | 该任务的输入文件路径,详情请参见 FileProcessJobOptions.Input | Container |
Operation | 该任务的规则,详情请参见 FileProcessJobOptions.Operation | Container |
对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:https://www.yunxiaoer.com/145616.html