
# 更新转储任务 - UpdateTransferTask
#### 功能介绍
该接口用于更新转储任务。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-dis/dis_02_0400.html)。
#### URI
PUT /v2/{project_id}/streams/{stream_name}/transfer-tasks
表1路径参数 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| project_id  | 是    | String | **参数解释**： 项目ID。获取方法，请参见[获取项目ID](https://support.huaweicloud.com/api-dis/dis_02_0501.html)。 **约束限制**： 不涉及 **取值范围**： 只能由英文字母和数字组成，且长度为\[1-64\]个字符。 **默认取值**： 不涉及 |
| stream_name | 是    | String | **参数解释**： 通道名称，可使用自动生成的由前缀"dis-"加4位随机字符或数字组成的名称，例如：dis-HvB1，也可自定义。 **约束限制**： 不涉及 **取值范围**： 只能由英文字母和数字组成，且长度为\[1-64\]个字符。 **默认取值**： 不涉及                         |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释**： 用户Token，通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。请参见[认证鉴权-Token认证](https://support.huaweicloud.com/api-dis/dis_02_0517.html)。 **约束限制**： 不涉及 **取值范围**： 长度为\[1-32768\]个字符。 **默认取值**： 不涉及 |
   
表3请求Body参数 
| 参数                         | 是否必选 | 参数类型                                                                                                   | 描述                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| destination_type           | 否    | String                                                                                                 | **参数解释**： 转储任务类型，OBS：转储到OBS。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： OBS |
| obs_destination_descriptor | 否    | [OBSDestinationDescriptorRequest] object | 转储目的地为OBS的参数列表。                                                                                                                                                                                                                                                                                                                                  |
   
 表4OBSDestinationDescriptorRequest 
| 参数                    | 是否必选 | 参数类型                                                                     | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| task_name             | 是    | String                                                                   | **参数解释**： 转储任务的名称。 **约束限制**： 不涉及 **取值范围**： 英文字母、数字、中划线和下划线组成，长度为1～64个字符。 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| agency_name           | 否    | String                                                                   | **参数解释**： 在统一身份认证服务（IAM）中创建委托的名称，DIS需要获取IAM委托信息去访问您指定的资源。如果已经创建过委托，可以使用IAM服务提供的查询委托列表接口，获取有效可用的委托名称。如果有在Console控制台、调用接口使用转储任务，会提示自动创建委托，自动创建的委托名称为：dis_admin_agency。 **约束限制**： 创建委托的参数设置如下 - 委托类型：云服务   - 云服务：DIS   - 持续时间：永久   - "所属区域"为"全局服务"，"项目"为"对象存储服务"对应的"策略"包含"Tenant Administrator"。    **取值范围**： 长度不超过64位，且不可配置为空。 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                 |
| deliver_time_interval | 是    | Integer                                                                  | **参数解释**： 根据用户配置的时间，周期性的将数据导入OBS，若某个时间段内无数据，则此时间段不会生成打包文件，单位：秒。 **约束限制**： 不涉及 **取值范围**： 大小为30-900之间的整数。 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| deliver_size_interval | 否    | Integer                                                                  | **参数解释**： 转储文件大小，用户定义本地缓存达到的大小阈值来触发一次转储，单位：MB。 **约束限制**： 不涉及 **取值范围**： 大小为1到300之间的整数。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| consumer_strategy     | 否    | String                                                                   | **参数解释**： 偏移量。 **约束限制**： 修改转储任务时偏移量的值根据创建转储任务时的值决定，如创建据创建转储任务时偏移量为最大偏移量，修改时也是最大。 **取值范围**： - LATEST：最大偏移量，即获取最新的数据。   - TRIM_HORIZON：最小偏移量，即读取最早的数据。    **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| file_prefix           | 否    | String                                                                   | **参数解释**： 在OBS中存储通道文件的自定义目录，默认配置为空。 **约束限制**： 多级目录可用"/"进行分隔，不可以"/"开头。 **取值范围**： 英文字母、数字、下划线和斜杠，最大长度为50个字符。 **默认取值**： 空                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| partition_format      | 否    | String                                                                   | **参数解释**： 将转储文件的生成时间使用"yyyy/MM/dd/HH/mm"格式生成分区字符串，用来定义写到OBS的Object文件所在的目录层次结构。数据转储成功后，存储的目录结构为"obs_bucket_path/file_prefix/partition_format"。如2017/11/10/14/49，目录结构就是"2017 \> 11 \> 10 \> 14 \> 49"，"2017"表示最外层文件夹。 **约束限制**： 不涉及 **取值范围**： - N/A：置空，不使用日期时间目录。   - yyyy：年   - yyyy/MM：年/   - yyyy/MM/dd：年/月/日   - yyyy/MM/dd/HH：年/月/日/时   - yyyy/MM/dd/HH/mm：年/月/日/时/分    **默认取值**： N/A |
| obs_bucket_path       | 是    | String                                                                   | **参数解释**： 存储该通道数据的OBS桶名称。 **约束限制**： 由英文小写字母、数字、中划线、下划线和点组成。 **取值范围**： 由英文小写字母、数字、中划线、下划线和点组成，长度为3～63个字符。 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| destination_file_type | 否    | String                                                                   | **参数解释**： 转储文件格式。 **约束限制**： "源数据类型"为"JSON"，"转储服务类型"为"OBS"时才可选择"csv"和"parquet"格式。 **取值范围**： - text：转储目标格式为Text，缺省值。   - csv: 转储目标格式为CSV。   - parquet：转储目标格式为Parquet。    **默认取值**： Text                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| processing_schema     | 否    | [ProcessingSchema] object | **参数解释**： 根据源数据的时间戳和已配置的"partition_format"生成对应的转储时间目录。将源数据的时间戳使用"yyyy/MM/dd/HH/mm"格式生成分区字符串，用来定义写到OBS的Object文件所在的目录层次结构。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| record_delimiter      | 否    | String                                                                   | **参数解释**： 转储文件的记录分隔符，用于分隔写入转储文件的用户数据。 **约束限制**： 由英文小写字母、数字、中划线、下划线和点组成。 **取值范围**： - 逗号 ","，默认值   - 分号 ";"   - 竖线 "\|"   - 换行符 "\\n"   - 空 "NULL"    **默认取值**： "\\n"                                                                                                                                                                                                                                                                                                                                                          |
   
 表5ProcessingSchema 
| 参数               | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| timestamp_name   | 是    | String | **参数解释**： 源数据时间戳的属性名称。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                     |
| timestamp_type   | 是    | String | **参数解释**： 源数据时间戳的类型。 **约束限制**： 不涉及 **取值范围**： - String：String类型   - Timestamp：Long类型的13位时间戳    **默认取值**： 不涉及。 |
| timestamp_format | 否    | String | **参数解释**： 源数据时间戳的类型为String时必选，用于根据时间戳格式生成OBS的时间目录。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                         |
   
#### 响应参数
**状态码：200**
正常返回
无
#### 请求示例
更新转储任务。
```
PUT https://{Endpoint}/v2/{project_id}/streams/{stream_name}/transfer-tasks
{
  "destination_type" : "OBS",
  "obs_destination_descriptor" : {
    "agency_name" : "dis_admin_agency",
    "task_name" : "task-test1",
    "consumer_strategy" : "LATEST",
    "cross_account_dump" : false,
    "destination_file_type" : "text",
    "obs_bucket_path" : "obsbucket",
    "file_prefix" : "",
    "partition_format" : "yyyy/MM/dd/HH/mm",
    "record_delimiter" : "|",
    "deliver_time_interval" : 300
  }
}
```
#### 响应示例
无
#### 状态码
| 状态码 | 描述   |
|:---|:---|
| 200 | 正常返回 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-dis/ErrorCode.html)。
