全部产品
Search
文档中心

数据传输服务 DTS:配置DTS订阅任务

更新时间:Aug 24, 2023

调用ConfigureSubscription接口配置DTS订阅任务。

说明 您可以在控制台的高级配置阶段,将鼠标光标移动至下一步保存任务并预检查按钮上,然后单击气泡中的预览OpenAPI参数,查看该实例使用API接口配置时的参数信息。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称

类型

是否必选

示例值

描述

Action String ConfigureSubscription

系统规定参数。取值:ConfigureSubscription

RegionId String cn-hangzhou

DTS实例所在地域,请参见查询DTS的IP地址

DtsJobName String MySQL订阅

订阅任务名称。

说明 建议配置具有业务意义的名称(无唯一性要求),便于后续识别。
DtsInstanceId String dtsy0zz3t13h7d****

订阅实例ID,可以调用DescribeDtsJobs查询。

DtsJobId String y0zz3t13h7d****

订阅任务ID,可以调用DescribeDtsJobs查询。

SourceEndpointEngineName String PostgreSQL

源数据库类型,取值为MySQLPostgreSQLOracle

说明 当源数据库为自建数据库,本参数必须传入。
SourceEndpointInstanceType String RDS

源数据库的实例类型,取值:

  • RDS:云数据库RDS。
  • PolarDB:PolarDB MySQL。
  • DRDS: PolarDB-X 1.0。
  • LocalInstance:有公网IP的自建数据库。
  • ECS:ECS上的自建数据库。
  • Express:通过专线接入的自建数据库。
  • CEN:通过云企业网CEN接入的自建数据库。
  • dg:通过数据库网关接入的自建数据库。
SourceEndpointRegion String cn-hangzhou

源实例所属地域,详情请参见支持的地域列表

说明 如果源实例为有公网IP的自建数据库,则可以传入cn-hangzhou或者离自建数据库物理距离最近的区域ID。
SourceEndpointInstanceID String rm-bp1zc3iyqe3qw****

源实例ID。

说明 源数据库的实例类型为RDS MySQL、PolarDB-X 1.0、PolarDB MySQL时,本参数才可用且必须传入。
SourceEndpointIP String 172.16.8*.***

源数据库的连接地址。

说明 当源数据库为自建数据库时,本参数才可用且必须传入。
SourceEndpointPort String 3306

源数据库的服务端口。

说明 当源数据库为自建数据库时,本参数才可用且必须传入。
SourceEndpointOracleSID String testsid

Oracle数据库的SID信息。

说明 当源数据库为自建Oracle时,且Oracle数据库为非RAC实例时,本参数才可用且必须传入。
SourceEndpointDatabaseName String dtstestdata

待订阅的数据库名称。

SourceEndpointUserName String dtstest

源实例的数据库账号。

说明 订阅不同的数据库所需的权限有所差异,请参见准备用于数据订阅的数据库账号中的账号权限。
SourceEndpointPassword String Test123456

源实例的数据库账号密码。

SourceEndpointOwnerID String 140692647406****

源实例所属的阿里云账号ID。

说明 仅在配置跨阿里云账号的数据订阅时本参数才可用,且必须传入。
SourceEndpointRole String ram-for-dts

源实例的授权角色。当源实例与配置订阅任务所属阿里云账号不同时,需传入该参数,来指定源实例的授权角色,以允许配置订阅任务所属阿里云账号访问源实例的实例信息。

说明 角色所需的权限及授权方式,请参见跨阿里云账号数据迁移或同步时如何配置RAM授权
DbList String {"dtstest":{"name":"dtstest","all":true}}

订阅对象,格式为JSON串。详细定义,请参见迁移、同步或订阅对象说明

Reserve String { "srcInstanceId": "cen-9kqshqum*******" }

DTS预留参数,格式为JSON串,您可以传入本参数完善源目库信息(如目标Kafka数据库的数据存储格式、云企业网CEN的实例ID)。更多信息,请参见Reserve参数说明参数说明。

Checkpoint String 1616902385

订阅启动时间,格式为Unix时间戳,单位为秒(s)。

说明 Unix时间戳转换工具可用搜索引擎获取。
SubscriptionInstanceNetworkType String vpc

订阅任务的网络类型,目前取值仅支持vpc,表示专有网络。

说明
  • 如果传入了本参数,则订阅任务被定义为新版,您还需要正确设置SubscriptionInstanceVPCIdSubscriptionInstanceVSwitchID参数;如果不传入该参数,则订阅任务被定义为旧版。
  • 旧版订阅任务支持订阅自建MySQL、RDS MySQL和PolarDB-X 1.0的数据,新版订阅任务支持订阅自建MySQL、RDS MySQL、PolarDB MySQL和Oracle的数据。
SubscriptionInstanceVPCId String vpc-bp1vwnn14rqpyiczj****

订阅实例的专有网络ID。

说明 SubscriptionInstanceNetworkType取值为vpc时,本参数才可用且必须传入。
SubscriptionInstanceVSwitchId String vsw-bp10df3mxae6lpmku****

订阅实例的虚拟交换机ID。

说明 SubscriptionInstanceNetworkType取值为vpc时,本参数才可用且必须传入。
SubscriptionDataTypeDDL Boolean true

是否订阅DDL类型的数据,取值:

  • true:是,为默认值。
  • false:否。
SubscriptionDataTypeDML Boolean true

是否订阅DML类型的数据,取值:

  • true:是,为默认值。
  • false:否。
DelayPhone String 1361234****,1371234****

延迟报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。

说明
DelayRuleTime Long 10

触发延迟报警的阈值,单位为秒且需为整数,可根据业务需要设置阈值,建议设置10秒以上,避免因网络、数据库负载等原因导致的延迟波动。

说明 DelayNotice取值为true时,本参数必须传入。
DelayNotice Boolean true

是否监控延迟状态,取值:

  • true:是。
  • false:否。
ErrorPhone String 1361234****,1371234****

异常报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。

说明
ErrorNotice Boolean true

是否监控异常状态,取值:

  • true:是。
  • false:否。
DedicatedClusterId String dtscluster_atyl3b5214uk***

DTS专属集群ID,用于将订阅任务调度到指定的DTS专属集群上。

DtsBisLabel String normal

DTS实例的环境标签,取值为:

  • normal普通
  • online线上

返回数据

名称

类型

示例值

描述

HttpStatusCode String 200

状态码。

RequestId String 1D6ECADF-C5E9-4C96-8811-77602B31****

请求ID。

ErrCode String InternalError

调用出错时返回的错误码。

DtsJobId String y0zz3t13h7d****

订阅任务ID。

Success String true

请求是否成功。

DtsInstanceId String dtsy0zz3t13h7d****

订阅实例ID。

ErrMessage String The request processing has failed due to some unknown error.

调用出错时返回对应的错误信息。

示例

请求示例

http(s)://dts.aliyuncs.com/?Action=ConfigureSubscription
&DbList={"dtstest":{"name":"dtstest","all":true}}
&DtsJobName=MySQL订阅
&SourceEndpointInstanceType=RDS
&SubscriptionInstanceNetworkType=vpc
&SourceEndpointInstanceID=rm-bp1zc3iyqe3qw****
&SourceEndpointUserName=dtstest
&SourceEndpointPassword=Test123456
&<公共请求参数>

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<ConfigureSubscriptionResponse>
    <DtsJobId>y0zz3t13h7d****</DtsJobId>
    <RequestId>1D6ECADF-C5E9-4C96-8811-77602B31****</RequestId>
    <HttpStatusCode>200</HttpStatusCode>
    <DtsInstanceId>dtsy0zz3t13h7d****</DtsInstanceId>
    <Success>true</Success>
</ConfigureSubscriptionResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "DtsJobId" : "y0zz3t13h7d****",
  "RequestId" : "1D6ECADF-C5E9-4C96-8811-77602B31****",
  "HttpStatusCode" : 200,
  "DtsInstanceId" : "dtsy0zz3t13h7d****",
  "Success" : true
}

错误码

HttpCode

错误码

错误信息

描述

400 Throttling.User Request was denied due to user flow control. 由于请求频次达到阈值,请求被拒绝,请稍后重试。
500 ServiceUnavailable The request has failed due to a temporary failure of the server. 由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。
403 InvalidSecurityToken.Expired Specified SecurityToken is expired. 签名已经过期,请更新签名

访问错误中心查看更多错误码。