• 沒有找到結果。

5.5 转储任务管理

5.5.1 添加 OBS 转储任务

状态码

状态码 描述

200 正常返回

错误码

请参见错误码。

5.5 转储任务管理

5.5.1 添加 OBS 转储任务

功能介绍

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

调试

您可以在API Explorer中调试该接口。

URI

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

5-79 路径参数

参数 是否必选 参数类型 描述

project_id 是 String 项目ID。

stream_name 是 String 已创建的通道名称。

最大长度:60

请求参数

5-80 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 是 String 用户Token。

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

5-81 请求 Body 参数

参数 是否必选 参数类型 描述

destination_ty

pe 是 String 转储任务类型。

● OBS:转储到OBS

● MRS:转储到MRS

● DLI:转储到DLI

● DWS:转储到DWS 缺省值:NOWHERE 枚举值:

● OBS obs_destinatio

n_descriptor 否 OBSDestinati

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

5-82 OBSDestinationDescriptorRequest

参数 是否必选 参数类型 描述

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

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

● 委托类型:云服务

● 云服务:DIS

● 持续时间:永久

● “所属区域”为“全局服 务”,“项目”为“对象存 储服务”对应的“策略”包 含“Tenant

Administrator”。 如果已经 创建过委托,可以使用IAM 服务提供的查询委托列表接 口,获取有效可用的委托名 称。 取值范围:长度不超过 64位,且不可配置为空。

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

自动创建的委托名称为:

dis_admin_agency 最大长度:64 deliver_time_i

nterval 是 Integer 根据用户配置的时间,周期性的

将数据导入OBS,若某个时间段 内无数据,则此时间段不会生成 打包文件。

取值范围:30~900 缺省值:300 单位:秒 最小值:30 最大值:900 缺省值:300

参数 是否必选 参数类型 描述 consumer_str

ategy 否 String 偏移量。

● LATEST:最大偏移量,即获 取最新的数据。

● TRIM_HORIZON:最小偏移 量,即读取最早的数据。

缺省值:LATEST 缺省值:LATEST 枚举值:

● LATEST

● TRIM_HORIZON

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

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

默认配置为空。

最大长度:50

参数 是否必选 参数类型 描述 partition_for

mat 否 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_p

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

参数 是否必选 参数类型 描述 destination_fil

e_type 否 String 转储文件格式。

● text:转储目标格式为 TEXT,缺省值

● parquet:转储目标格式为 Parquet

● carbon:转储目标格式为 Carbon

● parquet

● carbon processing_sc

hema 否 ProcessingSc

hema object 根据源数据的时间戳和已配置的

"partition_format"生成对应的

5-83 ProcessingSchema

参数 是否必选 参数类型 描述

timestamp_na

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

参数 是否必选 参数类型 描述 timestamp_ty

pe 是 String 源数据时间戳的类型。

● String

● Timestamp:Long类型的13 位时间戳

timestamp_fo

rmat 否 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 正常返回

错误码

请参见错误码。