文件解压

最近更新时间:2023-07-13 14:45:31

我的收藏

简介

本文档提供关于数据万象文件解压的 API 概览以及 SDK 示例代码。
API
操作描述
以提交任务的方式进行文件解压任务
主动查询指定的文件解压任务结果

提交文件解压任务

功能说明

以提交任务的方式进行文件解压缩,异步返回压缩包内被解压出来的文件。

方法原型

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.Name
Tag string
Input *FileProcessInput
Operation *FileProcessJobOperation
QueueId string
CallBackFormat string
CallBackType string
CallBack string
CallBackMqConfig *NotifyConfigCallBackMqConfig
}

type FileProcessInput struct {
Object string
}

type FileProcessJobOperation struct {
FileUncompressConfig *FileUncompressConfig
FileUncompressResult *FileUncompressResult
Output *FileProcessOutput
UserData string
}
type FileHashCodeConfig struct {
Type string
AddToHeader bool
}

type FileUncompressConfig struct {
Prefix string
PrefixReplaced string
}

type FileUncompressResult struct {
Region string
Bucket string
FileCount string
}

type FileProcessOutput struct {
Region string
Bucket string
}

type NotifyConfigCallBackMqConfig struct {
MqMode string
MqRegion string
MqName 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
任务所在的 队列 ID
String
CallBackFormat
任务回调格式,JSON 或 XML,默认 XML,优先级高于队列的回调格式。
String
CallBackType
任务回调类型,Url 或 TDMQ,默认 Url,优先级高于队列的回调类型。
String
CallBack
任务回调的地址,优先级高于队列的回调地址。
String
CallBackMqConfig
任务回调 TDMQ 配置,当 CallBackType 为 TDMQ 时必填。详情见 CallBackMqConfig
Container

返回结果说明

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: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