API | Description |
Uses a sync request to perform hash calculation and return a calculated hash value in real time. | |
Submits a hash calculation job. | |
Queries the result of a specified hash calculation job. |
func (s *CIService) GetFileHash(ctx context.Context, name string, opt *GetFileHashOptions) (*GetFileHashResult, *Response, error)
opt := &cos.GetFileHashOptions{CIProcess: "filehash",Type: "md5",}res, _, err := c.CI.GetFileHash(context.Background(), "test.jpg", opt)
type GetFileHashOptions struct {CIProcess stringType stringAddToHeader bool}
Parameter | Description | Type | Required |
name | Full path of the file to be operated on | String | Yes |
CIProcess | Operation type. It is fixed at filehash for hash calculation. | String | Yes |
Type | Supported hash algorithm. Valid values: md5 , sha1 , sha256 . | String | Yes |
AddToHeader | Whether to automatically add the calculated hash value to the custom header in the file. Format: x-cos-meta-md5/sha1/sha256. Valid values: true , false . If this parameter is left empty, it is false by default. | Bool | No |
type GetFileHashResult struct {FileHashCodeResult *FileHashCodeResultInput *FileProcessInput}
Parameter | Description | Type |
FileHashCodeResult | Hash calculation result. For more information, see FileProcessJobOptions.Input . | Container |
Input | Basic information of the input file. For more information, see FileProcessJobOptions.Operation.FileHashCodeResult . | Container |
func (s *CIService) CreateFileProcessJob(ctx context.Context, opt *FileProcessJobOptions) (*FileProcessJobResult, *Response, error)
createJobOpt := &cos.FileProcessJobOptions{Tag: "FileHashCode",Input: &cos.FileProcessInput{Object: "294028.zip",},Operation: &cos.FileProcessJobOperation{FileHashCodeConfig: &cos.FileHashCodeConfig{Type: "sha1",AddToHeader: true,},},QueueId: "p111a8dd208104ce3b11c78398f658ca8",}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 {Region stringBucket stringObject string}type FileProcessJobOperation struct {FileHashCodeConfig *FileHashCodeConfigFileHashCodeResult *FileHashCodeResultFileUncompressConfig *FileUncompressConfigFileUncompressResult *FileUncompressResultFileCompressConfig *FileCompressConfigFileCompressResult *FileCompressResultOutput *FileProcessOutputUserData string}type FileHashCodeConfig struct {Type stringAddToHeader bool}type FileHashCodeResult struct {MD5 stringSHA1 stringSHA256 stringFileSize intLastModified stringEtag string}type FileUncompressConfig struct {Prefix stringPrefixReplaced string}type FileUncompressResult struct {Region stringBucket stringFileCount string}type FileCompressConfig struct {Flatten stringFormat stringUrlList stringPrefix stringKey string}type FileCompressResult struct {Region stringBucket stringObject string}type FileProcessOutput struct {Region stringBucket stringObject string}type NotifyConfigCallBackMqConfig struct {MqMode stringMqRegion stringMqName string}
Parameter | Description | Type | Required |
Tag | Job type, which currently can only be FileHashCode . | String | Yes |
Input | Container | Yes | |
Operation | Operation rule | Container | Yes |
Operation.FileHashCodeConfig | Container | Yes | |
Operation.FileHashCodeResult | The calculated hash value, which will not be returned when the job is not completed. For more information, see Submitting Hash Calculation Job. | Container | No |
Operation.UserData | The user information passed through, which is printable ASCII codes of up to 1,024 in length. | String | No |
QueueId | ID of the queue where the job is in. | String | Yes |
CallBackFormat | Job callback format, which can be JSON or XML (default). It takes priority over that of the queue. | String | No |
CallBackType | Job callback type, which can be Url (default) or TDMQ . It takes priority over that of the queue. | String | No |
CallBack | Job callback address. It takes priority over that of the queue. | String | No |
CallBackMqConfig | TDMQ configuration for job callback as described in Structure, which is required if CallBackType is TDMQ . | Container | No |
type FileProcessJobResult struct {JobsDetail FileProcessJobResult}type FileProcessJobResult struct {Code stringMessage stringJobId stringTag stringState stringCreationTime stringStartTime stringEndTime stringQueueId stringInput *FileProcessInputOperation *FileProcessJobOperation}
Parameter | Description | Type |
JobsDetail | Job details | Container |
Code | Error code, which will be returned only if State is Failed . | String |
Message | Error message, which will be returned only if State is Failed . | String |
JobId | Job ID | String |
Tag | Job tag: FileHashCode | String |
State | Job status. Valid values: Submitted , Running , Success , Failed , Pause , Cancel . | String |
CreationTime | Job creation time | String |
StartTime | Job start time | String |
EndTime | Job end time | String |
QueueId | ID of the queue where the job is in | String |
Input | Path of the input file for this job. For more information, see FileProcessJobOptions.Input . | Container |
Operation | Operation rule. For more information, see FileProcessJobOptions.Operation . | Container |
func (s *CIService) DescribeFileProcessJob(ctx context.Context, jobid string) (*FileProcessJobResult, *Response, error)
jobid := "<jobid>"res, _, err := c.CI.DescribeFileProcessJob(context.Background(), jobid)
Parameter | Description | Type |
jobid | File processing job ID | String |
type FileProcessJobResult struct {JobsDetail *FileProcessJobsDetail}
Parameter | Description | Type | Required |
JobsDetail | Job details, which is the same as Response.JobsDetail in the CreateFileProcessJob API. | Container | Yes |
Was this page helpful?