简介
本文档提供关于数据万象文件解压的 API 概览以及 SDK 示例代码。
提交文件解压任务
功能说明
以提交任务的方式进行文件解压缩,异步返回压缩包内被解压出来的文件。
方法原型
func (s *CIService) CreateFileProcessJob(ctx context.Context, opt *FileProcessJobOptions) (*FileProcessJobResult, *Response, error)
请求示例
createJobOpt := &cos.FileProcessJobOptions{Tag: "FileUncompress",Input: &cos.FileProcessInput{Object: "294028.zip",},Operation: &cos.FileProcessJobOperation{FileUncompressConfig: &cos.FileUncompressConfig{Prefix: "uncomp",PrefixReplaced: "1",},Output: &cos.FileProcessOutput{Region: "ap-beijing",Bucket: "test-1250000000",}},}res, _, err := c.CI.CreateFileProcessJob(context.Background(), createJobOpt)
参数说明
type FileProcessJobOptions struct {XMLName xml.NameTag stringInput *FileProcessInputOperation *FileProcessJobOperationQueueId stringCallBackFormat stringCallBackType stringCallBack stringCallBackMqConfig *NotifyConfigCallBackMqConfig}type FileProcessInput struct {Object string}type FileProcessJobOperation struct {FileUncompressConfig *FileUncompressConfigFileUncompressResult *FileUncompressResultOutput *FileProcessOutputUserData string}type FileHashCodeConfig struct {Type stringAddToHeader bool}type FileUncompressConfig struct {Prefix stringPrefixReplaced string}type FileUncompressResult struct {Region stringBucket stringFileCount string}type FileProcessOutput struct {Region stringBucket string}type NotifyConfigCallBackMqConfig struct {MqMode stringMqRegion stringMqName string}
参数名称 | 描述 | 类型 | 是否必选 |
Tag | 创建任务的 Tag,目前仅支持:FileUncompress | String | 是 |
Input | 待操作的文件对象。 | Container | 是 |
Input.Object | 文件名,取值为文件在当前存储桶中的完整名称。 | String | 是 |
Operation | 操作规则 | Container | 是 |
Operation.FileUncompressConfig | 指定文件解压的处理规则。 | Container | 是 |
Operation.FileUncompressConfig.Prefix | 指定解压后输出文件的前缀,不填则默认保存在存储桶根路径。 | String | 否 |
Operation.FileUncompressConfig.UnCompressKey | 解压密钥,传入时需先经过 base64 编码。 | String | 否 |
Operation.FileUncompressConfig.PrefixReplaced | 指定解压后的文件路径是否需要替换前缀,有效值:
- 0:不添加额外的前缀,解压缩将保存在Prefix指定的路径下(不会保留压缩包的名称,仅将压缩包内的文件保存至指定的路径)。
- 1:以压缩包本身的名称作为前缀,解压缩将保存在Prefix指定的路径下。
- 2:以压缩包完整路径作为前缀,此时如果不指定Prefix,就是解压到压缩包所在的当前路径(包含压缩包本身名称)。
- 默认值为0。 | String | 否 |
Operation.FileUncompressResult | 文件解压的结果,提交任务时不需要填写。 | Container | 否 |
Operation.Output | 指定文件处理后的文件保存的地址信息。 | Container | 是 |
Operation.Output.Region | 存储桶的地域。 | String | 是 |
Operation.Output.Bucket | 保存解压后文件的存储桶。 | String | 是 |
Operation.UserData | 透传用户信息, 可打印的 ASCII 码, 长度不超过1024 | String | 否 |
QueueId | String | 否 | |
CallBackFormat | 任务回调格式,JSON 或 XML,默认 XML,优先级高于队列的回调格式。 | String | 否 |
CallBackType | 任务回调类型,Url 或 TDMQ,默认 Url,优先级高于队列的回调类型。 | String | 否 |
CallBack | 任务回调的地址,优先级高于队列的回调地址。 | String | 否 |
CallBackMqConfig | Container | 否 |
返回结果说明
type FileProcessJobResult struct {JobsDetail FileProcessJobResult}type FileProcessJobResult struct {Code stringMessage stringJobId stringTag stringState stringCreationTime stringStartTime stringEndTime stringQueueId stringInput *FileProcessInputOperation *FileProcessJobOperation}
参数名称 | 描述 | 类型 |
JobsDetail | 任务的详细信息 | Container |
Code | 错误码,只有 State 为 Failed 时有意义 | String |
Message | 错误描述,只有 State 为 Failed 时有意义 | String |
JobId | 新创建任务的 ID | String |
Tag | 新创建任务的 Tag:FileUncompress | 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 := "<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:FileUncompress | 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 |