添加CloudTable转储任务
功能介绍
本接口用于添加CloudTable转储任务。
调用方法
请参见如何调用API。
URI
POST /v2/{project_id}/streams/{stream_name}/transfer-tasks
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID。 |
stream_name |
是 |
String |
已创建的通道名称。 最大长度:60 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
destination_type |
是 |
String |
转储任务类型。
缺省值:NOWHERE 枚举值:
|
cloudtable_destination_descriptor |
否 |
转储目的地为CloudTable的参数列表。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
task_name |
是 |
String |
转储任务的名称。 任务名称由英文字母、数字、中划线和下划线组成。长度为1~64个字符。 |
agency_name |
是 |
String |
在统一身份认证服务(IAM)中创建委托的名称,DIS需要获取IAM委托信息去访问您指定的资源。创建委托的参数设置如下:- 委托类型:云服务- 云服务:DIS- 持续时间:永久- “所属区域”为“全局服务”,“项目”为“对象存储服务”对应的“策略”包含“Tenant Administrator”。如果已经创建过委托,可以使用IAM服务提供的查询委托列表接口,获取有效可用的委托名称。取值范围:长度不超过64位,且不可配置为空。如果有在Console控制台使用转储任务,会提示自动创建委托,自动创建的委托名称为:dis_admin_agency 最大长度:64 |
deliver_time_interval |
是 |
Integer |
根据用户配置的时间,周期性的将数据导入OBS,若某个时间段内无数据,则此时间段不会生成打包文件。 单位:秒 最小值:30 最大值:900 缺省值:300 |
consumer_strategy |
否 |
String |
偏移量。
缺省值:LATEST 枚举值:
|
cloudtable_cluster_name |
是 |
String |
存储该通道数据的CloudTable集群名称。 如果选择转储OpenTSDB,则集群必须开启OpenTSDB。 |
cloudtable_cluster_id |
是 |
String |
存储该通道数据的CloudTable集群ID。 如果选择转储OpenTSDB,则集群必须开启OpenTSDB。 |
cloudtable_table_name |
否 |
String |
转储HBase时必选,表示存储该通道数据的CloudTable集群HBase表名称。 |
cloudtable_schema |
否 |
CloudtableSchema object |
转储HBase时必选,与“opentsdb_schema”二选一,表示CloudTable集群HBase数据的Schema配置。用于将通道内的JSON数据进行格式转换并导入Cloudtable的HBase表中。 |
opentsdb_schema |
否 |
Array of OpenTSDBSchema objects |
转储OpenTSDB时必选,与“cloudtable_schema”二选一,表示CloudTable集群OpenTSDB数据的Schema配置。用于将通道内的JSON数据进行格式转换并导入Cloudtable的OpenTSDB。 |
cloudtable_row_key_delimiter |
否 |
String |
转储HBase的rowkey分隔符,用于分隔生成rowKey的用户数据。取值范围:”, ”、 ”. ”、 ”|”、 ”; ”、 ”\”、 ”-”、 ”_”、 ”~”缺省值:”.” |
obs_backup_bucket_path |
否 |
String |
用户数据转储CloudTable服务失败时,可选择将转储失败的数据备份至OBS服务,此参数为OBS服务的桶名称。 |
backup_file_prefix |
否 |
String |
用户数据转储CloudTable服务失败时,可选择将转储失败的数据备份至OBS服务,此参数为OBS桶下的自定义目录,多级目录可用“/”进行分隔,不可以“/”开头。取值范围:英文字母、数字和下划线。最大长度:最大长度为50个字符。默认配置为空。 |
retry_duration |
否 |
String |
用户数据导入CloudTable服务失败的失效重试时间。超出此时效,转储CloudTable失败的数据将备份至“OBS桶/ backup_file_prefix /cloudtable_error”或“OBS桶/ backup_file_prefix /opentsdb_error”目录下。取值范围: 0~7200。单位:秒。默认配置为1800。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
row_key |
是 |
Array of RowKey objects |
CloudTable集群HBase数据rowkey的Schema配置,用于将通道内的JSON数据生成HBase数据的rowkey。 取值范围:1~64。 |
columns |
是 |
Array of Column objects |
CloudTable集群HBase数据列的Schema配置,用于将通道内的JSON数据生成HBase数据的列。 取值范围:1~4096。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
value |
是 |
String |
通道内JSON数据的JSON属性名,用于生成HBase数据的rowkey。 |
type |
是 |
String |
通道内JSON数据的JSON属性的类型名称。 枚举值:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
column_family_name |
是 |
String |
存储该通道数据的HBase表数据的列族名称。 |
column_name |
是 |
String |
存储该通道数据的HBase表数据的列名称。 取值范围:1~32,只能包含英文字母、数字和下划线。 |
value |
是 |
String |
通道内JSON数据的JSON属性名,用于生成HBase数据的列值。 |
type |
是 |
String |
通道内JSON数据的JSON属性的类型名称。 枚举值:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
metric |
是 |
Array of OpenTSDBMetric objects |
CloudTable集群OpenTSDB数据metric的Schema配置,用于将通道内的JSON数据进行格式转换生成OpenTSDB数据的metric。 |
timestamp |
是 |
OpenTSDBTimestamp object |
CloudTable集群OpenTSDB 数据timestamp的Schema配置,用于将通道内的JSON数据进行格式转换生成OpenTSDB数据的timestamp。 |
value |
是 |
OpenTSDBValue object |
CloudTable集群OpenTSDB 数据value的Schema配置,用于将通道内的JSON数据进行格式转换生成OpenTSDB 数据的value。 |
tags |
是 |
Array of OpenTSDBTags objects |
CloudTable集群OpenTSDB数据tags的Schema配置,用于将通道内的JSON数据进行格式转换生成OpenTSDB数据的tags。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
是 |
String |
枚举值:
|
value |
是 |
String |
常量或通道内用户数据的JSON属性名称。 取值范围:1~32,只能包含英文字母、数字和点。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
是 |
String |
|
value |
是 |
String |
通道内用户数据的JSON属性名称。 取值范围:1~32,只能包含英文字母、数字和下划线。 |
format |
是 |
String |
“type”为“String”类型时必选。表示通道内用户数据对应JSON属性的取值为Date格式,需要根据format字段进行数据格式转换生成OpenTSDB的timestamp。取值范围:- 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 枚举值:
|
响应参数
无
请求示例
-
添加CloudTable HBase转储任务
POST https://{Endpoint}/v2/{project_id}/streams/{stream_name}/transfer-tasks { "destination_type" : "CLOUDTABLE", "cloudtable_destination_descriptor" : { "task_name" : "hbasetask", "consumer_strategy" : "TRIM_HORIZON", "agency_name" : "dis_admin_agency", "cloudtable_cluster_name" : "cloudtablecluster", "cloudtable_cluster_id" : "b8c095e2-db5f-4732-8a1d-eacd662e35dc", "cloudtable_table_name" : "cloudtabletable", "cloudtable_row_key_delimiter" : "|", "retry_duration" : 1800, "obs_backup_bucket_path" : "obsbackupbucket", "backup_file_prefix" : "", "cloudtable_schema" : { "row_key" : [ { "value" : "datavalue", "type" : "String" } ], "columns" : [ { "column_family_name" : "cfname1", "column_name" : "ID", "value" : "datavalue1", "type" : "String" }, { "column_family_name" : "cfname2", "column_name" : "VALUE", "value" : "datavalue2", "type" : "String" } ] } } }
-
添加CloudTable OpenTSDB转储任务
POST https://{Endpoint}/v2/{project_id}/streams/{stream_name}/transfer-tasks { "destination_type" : "CLOUDTABLE", "cloudtable_destination_descriptor" : { "task_name" : "opentsdbtask", "consumer_strategy" : "LATEST", "agency_name" : "dis_admin_agency", "cloudtable_cluster_name" : "cloudtablecluster", "cloudtable_cluster_id" : "b8c095e2-db5f-4732-8a1d-eacd662e35dc", "retry_duration" : 1800, "obs_backup_bucket_path" : "obsbackupbucket", "backup_file_prefix" : "", "opentsdb_schema" : [ { "metric" : [ { "type" : "Constant", "value" : "age" } ], "timestamp" : { "value" : "date", "type" : "String", "format" : "yyyy/MM/dd HH:mm:ss" }, "value" : { "value" : "value", "type" : "Bigint" }, "tags" : [ { "name" : "name", "value" : "name", "type" : "Bigint" } ] } ] } }
响应示例
无
状态码
状态码 |
描述 |
---|---|
201 |
正常返回 |
错误码
请参见错误码。