github.com/qiniu/go-sdk/v7@v7.27.0/media/apis/pfop/api.go (about) 1 // THIS FILE IS GENERATED BY api-generator, DO NOT EDIT DIRECTLY! 2 3 // 触发持久化数据处理命令 4 package pfop 5 6 import ( 7 "encoding/json" 8 9 credentials "github.com/qiniu/go-sdk/v7/storagev2/credentials" 10 errors "github.com/qiniu/go-sdk/v7/storagev2/errors" 11 ) 12 13 // 调用 API 所用的请求 14 type Request struct { 15 Credentials credentials.CredentialsProvider // 鉴权参数,用于生成鉴权凭证,如果为空,则使用 HTTPClientOptions 中的 CredentialsProvider 16 BucketName string // 空间名称 17 ObjectName string // 对象名称 18 Fops string // 数据处理命令列表,以 `;` 分隔,可以指定多个数据处理命令 19 NotifyUrl string // 处理结果通知接收 URL 20 Force int64 // 强制执行数据处理,设为 `1`,则可强制执行数据处理并覆盖原结果 21 Type int64 // 任务类型,支持 `0` 表示普通任务,`1` 表示闲时任务 22 Pipeline string // 对列名,仅适用于普通任务 23 WorkflowTemplateId string // 工作流模板 ID 24 } 25 26 // 获取 API 所用的响应 27 type Response struct { 28 PersistentId string // 持久化数据处理任务 ID 29 } 30 31 // 返回的持久化数据处理任务 ID 32 type ( 33 PfopId = Response 34 jsonResponse struct { 35 PersistentId string `json:"persistentId"` // 持久化数据处理任务 ID 36 } 37 ) 38 39 func (j *Response) MarshalJSON() ([]byte, error) { 40 if err := j.validate(); err != nil { 41 return nil, err 42 } 43 return json.Marshal(&jsonResponse{PersistentId: j.PersistentId}) 44 } 45 46 func (j *Response) UnmarshalJSON(data []byte) error { 47 var nj jsonResponse 48 if err := json.Unmarshal(data, &nj); err != nil { 49 return err 50 } 51 j.PersistentId = nj.PersistentId 52 return nil 53 } 54 55 func (j *Response) validate() error { 56 if j.PersistentId == "" { 57 return errors.MissingRequiredFieldError{Name: "PersistentId"} 58 } 59 return nil 60 }