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

添加DWS转储任务

功能介绍

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

调用方法

请参见如何调用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

枚举值:

  • DWS

dws_destination_descriptor

DWSDestinationDescriptorRequest object

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

表4 DWSDestinationDescriptorRequest

参数

是否必选

参数类型

描述

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

dws_cluster_name

String

存储该通道数据的DWS集群名称。

dws_cluster_id

String

存储该通道数据的DWS集群ID。

dws_database_name

String

存储该通道数据的DWS数据库名称。

dws_schema

String

存储该通道数据的DWS数据库模式。

dws_table_name

String

存储该通道数据的DWS数据库模式下的数据表。

dws_delimiter

String

用户数据的字段分隔符,根据此分隔符分隔用户数据插入DWS数据表的相应列。

取值范围:“,”、“;”和“|”三种字符中的一个。

user_name

String

存储该通道数据的DWS数据库的用户名。

user_password

String

存储该通道数据的DWS数据库的密码。

kms_user_key_name

String

用户在密钥管理服务(简称KMS)创建的用户主密钥名称,用于加密存储DWS数据库的密码。

kms_user_key_id

String

用户在密钥管理服务(简称KMS)创建的用户主密钥ID,用于加密存储DWS数据库的密码。

obs_bucket_path

String

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

file_prefix

String

临时存储该通道数据的OBS桶下的自定义目录,多级目录可用“/”进行分隔,不可以“/”开头。

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

默认配置为空。

retry_duration

String

用户数据导入DWS集群失败的重试失效时间。超出此配置项配置的时间,转储DWS失败的数据将备份至“OBS桶/ file_prefix/dws_error”目录下。取值范围: 0~7200。单位:秒。默认配置为1800。

dws_table_columns

String

指定要转储到DWS表中的列,为null或者为空则默认全列。比如“c1,c2”表示将Schema中c1和c2这两列转储到DWS。

默认为空。

options

Options object

DWS容错性选项(用于指定外表数据的各类参数)。

表5 Options

参数

是否必选

参数类型

描述

fill_missing_fields

String

数据入库时,数据源文件中某行的最后一个字段缺失时,请选择是直接将字段设为Null,还是在错误表中报错提示。

取值范围:

  • true/on

  • false/off

缺省值:false/off

枚举值:

  • true/on

  • false/off

ignore_extra_data

String

数据源文件中的字段比外表定义列数多时,是否忽略多出的列。该参数只在数据导入过程中使用。

取值范围:

  • true/on

  • false/off

缺省值:false/off

枚举值:

  • true/on

  • false/off

compatible_illegal_chars

String

导入非法字符容错参数。是将非法字符按照转换规则转换后入库,还是报错中止导入。

取值范围:

  • true/on

  • false/off

缺省值:false/off

枚举值:

  • true/on

  • false/off

reject_limit

String

指定本次数据导入允许出现的数据格式错误个数,当导入过程中出现的数据格式错误未达到限定值时,本次数据导入可以成功。

取值范围:

  • 整型值

  • unlimited(无限制)

缺省值为0,有错误信息立即返回。

error_table_name

String

用于记录数据格式错误信息的错误表表名。并行导入结束后查询此错误信息表,能够获取详细的错误信息。

响应参数

请求示例

添加DWS转储任务

POST https://{Endpoint}/v2/{project_id}/streams/{stream_name}/transfer-tasks

{
  "destination_type" : "DWS",
  "dws_destination_descriptor" : {
    "task_name" : "dwstask",
    "consumer_strategy" : "LATEST",
    "agency_name" : "dis_admin_agency",
    "dws_cluster_name" : "dwscluster",
    "dws_cluster_id" : "f82dc227-3691-47eb-bca7-e7851f509b2a",
    "dws_database_name" : "postgres",
    "dws_schema" : "dbadmin",
    "dws_table_name" : "dwstablename",
    "dws_delimiter" : "",
    "user_name" : "dbadmin",
    "user_password" : "userpassword",
    "kms_user_key_name" : "kmskey",
    "kms_user_key_id" : "1e759f06-9188-4d21-afab-a75e57c04d2b",
    "obs_bucket_path" : "obsbucket",
    "file_prefix" : "",
    "deliver_time_interval" : 60,
    "retry_duration" : 1800,
    "options" : {
      "fill_missing_fields" : "false",
      "ignore_extra_data" : "false",
      "compatible_illegal_chars" : "false"
    }
  }
}

响应示例

状态码

状态码

描述

201

正常返回

错误码

请参见错误码