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 正常返回
错误码
请参见错误码。