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  }