更新时间:2022-10-27 GMT+08:00

添加OBS转储任务

功能介绍

本接口用于添加OBS转储任务。

URI

POST /v2/{project_id}/streams/{stream_name}/transfer-tasks

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。

stream_name

String

已创建的通道名称。

最大长度:60

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

表3 请求Body参数

参数

是否必选

参数类型

描述

destination_type

String

转储任务类型。

  • OBS:转储到OBS
  • MRS:转储到MRS
  • DLI:转储到DLI
  • CLOUDTABLE:转储到CloudTable
  • DWS:转储到DWS

缺省值:NOWHERE

枚举值:

  • OBS

obs_destination_descriptor

OBSDestinationDescriptorRequest object

转储目的地为OBS的参数列表。

表4 OBSDestinationDescriptorRequest

参数

是否必选

参数类型

描述

task_name

String

转储任务的名称。 任务名称由英文字母、数字、中划线和下划线组成。长度为1~64个字符。

agency_name

String

在统一身份认证服务(IAM)中创建委托的名称,DIS需要获取IAM委托信息去访问您指定的资源。创建委托的参数设置如下:

  • 委托类型:云服务
  • 云服务:DIS
  • 持续时间:永久
  • “所属区域”为“全局服务”,“项目”为“对象存储服务”对应的“策略”包含“Tenant Administrator”。 取值范围:长度不超过64位,且不可配置为空。

如果有在Console控制台使用转储任务,会提示自动创建委托,自动创建的委托名称为:dis_admin_agency

最大长度:64

deliver_time_interval

Integer

根据用户配置的时间,周期性的将数据导入OBS,若某个时间段内无数据,则此时间段不会生成打包文件。

取值范围:30~900

缺省值:300

单位:秒

最小值:30

最大值:900

缺省值:300

consumer_strategy

String

偏移量。

  • LATEST:最大偏移量,即获取最新的数据。
  • TRIM_HORIZON:最小偏移量,即读取最早的数据。

缺省值:LATEST

缺省值:LATEST

枚举值:

  • LATEST
  • TRIM_HORIZON

file_prefix

String

在OBS中存储通道文件的自定义目录,多级目录可用“/”进行分隔,不可以“/”开头。

取值范围:英文字母、数字、下划线和斜杠,最大长度为50个字符。

默认配置为空。

最大长度:50

partition_format

String

将转储文件的生成时间使用“yyyy/MM/dd/HH/mm”格式生成分区字符串,用来定义写到OBS的Object文件所在的目录层次结构。

  • N/A:置空,不使用日期时间目录。
  • yyyy:年
  • yyyy/MM:年/
  • yyyy/MM/dd:年/月/日
  • yyyy/MM/dd/HH:年/月/日/时
  • yyyy/MM/dd/HH/mm:年/月/日/时/分

例如:2017/11/10/14/49,目录结构就是“2017 > 11 > 10 > 14 > 49”,“2017”表示最外层文件夹。

默认值:空

说明:

数据转储成功后,存储的目录结构为“obs_bucket_path/file_prefix/partition_format”。

枚举值:

  • yyyy
  • yyyy/MM
  • yyyy/MM/dd
  • yyyy/MM/dd/HH
  • yyyy/MM/dd/HH/mm

obs_bucket_path

String

存储该通道数据的OBS桶名称。

destination_file_type

String

转储文件格式。

  • text:转储目标格式为TEXT,缺省值
  • parquet:转储目标格式为Parquet
  • carbon:转储目标格式为Carbon

说明:

“源数据类型”为“JSON”,“转储服务类型”为“OBS”时才可选择“parquet”或“carbon”格式。

缺省值:text

枚举值:

  • text
  • parquet
  • carbon

processing_schema

ProcessingSchema object

根据源数据的时间戳和已配置的"partition_format"生成对应的转储时间目录。将源数据的时间戳使用“yyyy/MM/dd/HH/mm”格式生成分区字符串,用来定义写到OBS的Object文件所在的目录层次结构。

record_delimiter

String

转储文件的记录分隔符,用于分隔写入转储文件的用户数据。

取值范围:

  • 逗号 ",",默认值
  • 分号 ";"
  • 竖线 "|"
  • 换行符 "\n"

缺省值:\n

表5 ProcessingSchema

参数

是否必选

参数类型

描述

timestamp_name

String

源数据时间戳的属性名称。

timestamp_type

String

源数据时间戳的类型。

  • String
  • Timestamp:Long类型的13位时间戳

timestamp_format

String

源数据时间戳的类型为String时必选,用于根据时间戳格式生成OBS的时间目录。

取值范围:

  • yyyy/MM/dd HH:mm:ss
  • MM/dd/yyyy HH:mm:ss
  • dd/MM/yyyy HH:mm:ss
  • yyyy-MM-dd HH:mm:ss
  • MM-dd-yyyy HH:mm:ss
  • dd-MM-yyyy HH:mm:ss

枚举值:

  • yyyy/MM/dd HH:mm:ss
  • MM/dd/yyyy HH:mm:ss
  • dd/MM/yyyy HH:mm:ss
  • yyyy-MM-dd HH:mm:ss
  • MM-dd-yyyy HH:mm:ss
  • dd-MM-yyyy HH:mm:ss

响应参数

请求示例

  • 添加OBS转储任务
    POST https://{Endpoint}/v2/{project_id}/streams/{stream_name}/transfer-tasks
    
    {
      "destination_type" : "OBS",
      "obs_destination_descriptor" : {
        "task_name" : "newtask",
        "consumer_strategy" : "LATEST",
        "agency_name" : "dis_admin_agency",
        "destination_file_type" : "text",
        "obs_bucket_path" : "obsbucket",
        "file_prefix" : "",
        "partition_format" : "yyyy/MM/dd/HH/mm",
        "record_delimiter" : "|",
        "deliver_time_interval" : 30
      }
    }
  • 添加OBS转储任务(转储文件格式是parquet)
    POST https://{Endpoint}/v2/{project_id}/streams/{stream_name}/transfer-tasks
    
    {
      "destination_type" : "OBS",
      "obs_destination_descriptor" : {
        "task_name" : "newtask",
        "consumer_strategy" : "LATEST",
        "agency_name" : "dis_admin_agency",
        "destination_file_type" : "parquet",
        "obs_bucket_path" : "obsbucket",
        "file_prefix" : "",
        "partition_format" : "yyyy/MM/dd/HH/mm",
        "record_delimiter" : "|",
        "deliver_time_interval" : 30
      }
    }

响应示例

状态码

状态码

描述

201

正常返回

错误码

请参见错误码