更新时间:2024-10-21 GMT+08:00

添加CloudTable转储任务

功能介绍

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

调用方法

请参见如何调用API

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

枚举值:

  • CLOUDTABLE

cloudtable_destination_descriptor

CloudtableDestinationDescriptorRequest object

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

表4 CloudtableDestinationDescriptorRequest

参数

是否必选

参数类型

描述

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:最大偏移量,即获取最新的数据。

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

缺省值:LATEST

枚举值:

  • LATEST

  • TRIM_HORIZON

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。

表5 CloudtableSchema

参数

是否必选

参数类型

描述

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。

表6 RowKey

参数

是否必选

参数类型

描述

value

String

通道内JSON数据的JSON属性名,用于生成HBase数据的rowkey。

type

String

通道内JSON数据的JSON属性的类型名称。

枚举值:

  • Bigint

  • Double

  • Boolean

  • Timestamp

  • String

  • Decimal

表7 Column

参数

是否必选

参数类型

描述

column_family_name

String

存储该通道数据的HBase表数据的列族名称。

column_name

String

存储该通道数据的HBase表数据的列名称。

取值范围:1~32,只能包含英文字母、数字和下划线。

value

String

通道内JSON数据的JSON属性名,用于生成HBase数据的列值。

type

String

通道内JSON数据的JSON属性的类型名称。

枚举值:

  • Bigint

  • Double

  • Boolean

  • Timestamp

  • String

  • Decimal

表8 OpenTSDBSchema

参数

是否必选

参数类型

描述

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。

表9 OpenTSDBMetric

参数

是否必选

参数类型

描述

type

String

  • Constant表示metric为常量value的值。

  • String表示metric为通道内用户数据对应JSON属性的取值,且该JOSN属性的取值为String。

枚举值:

  • Constant

  • String

value

String

常量或通道内用户数据的JSON属性名称。

取值范围:1~32,只能包含英文字母、数字和点。

表10 OpenTSDBTimestamp

参数

是否必选

参数类型

描述

type

String

  • Timestamp类型表示通道内用户数据对应JSON属性的取值为Timestamp类型,不需要进行数据格式转换就可以生成OpenTSDB的timestamp。- String类型表示通道内用户数据对应JSON属性的取值为Date格式,需要进行数据格式转换才能生成OpenTSDB的timestamp。

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

枚举值:

  • 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

表11 OpenTSDBValue

参数

是否必选

参数类型

描述

type

String

通道内用户JSON数据对应JSON属性的类型名称。

取值范围:

  • Bigint

  • Double

  • Boolean

  • Timestamp

  • String

  • Decimal

value

String

常量或通道内用户数据的JSON属性名称。

取值范围:1~32,只能包含英文字母、数字和下划线。

表12 OpenTSDBTags

参数

是否必选

参数类型

描述

name

String

存储该通道数据的OpenTSDB数据的tag名称。

取值范围:1~32,只能包含英文字母、数字和下划线。

type

String

通道内用户JSON数据对应JSON属性的类型名称。

取值范围:

  • Bigint

  • Double

  • Boolean

  • Timestamp

  • String

  • Decimal

value

String

常量或通道内用户数据的JSON属性名称。

取值范围:1~32,只能包含英文字母、数字和下划线。

响应参数

请求示例

  • 添加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

正常返回

错误码

请参见错误码