添加DWS转储任务
功能介绍
本接口用于添加DWS转储任务。
调用方法
请参见如何调用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 枚举值:
|
dws_destination_descriptor |
否 |
转储目的地为DWS的参数列表。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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 枚举值:
|
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容错性选项(用于指定外表数据的各类参数)。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
fill_missing_fields |
否 |
String |
数据入库时,数据源文件中某行的最后一个字段缺失时,请选择是直接将字段设为Null,还是在错误表中报错提示。 取值范围:
缺省值:false/off 枚举值:
|
ignore_extra_data |
否 |
String |
数据源文件中的字段比外表定义列数多时,是否忽略多出的列。该参数只在数据导入过程中使用。 取值范围:
缺省值:false/off 枚举值:
|
compatible_illegal_chars |
否 |
String |
导入非法字符容错参数。是将非法字符按照转换规则转换后入库,还是报错中止导入。 取值范围:
缺省值:false/off 枚举值:
|
reject_limit |
否 |
String |
指定本次数据导入允许出现的数据格式错误个数,当导入过程中出现的数据格式错误未达到限定值时,本次数据导入可以成功。 取值范围:
缺省值为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 |
正常返回 |
错误码
请参见错误码。