当数据同步作业的源数据库或目标数据库发生了主备切换时,您可以调用SwitchSynchronizationEndpoint接口,将主备切换后新数据库的连接信息传给DTS,DTS将从断点处重新启动数据同步任务。
- 如发生主备切换的源或目标实例是公网、ECS或专线接入的自建MySQL,您需调用本接口,来更新主备切换后的新数据库的连接信息。
- 如发生主备切换的源或目标实例是阿里云数据库实例(例如RDS、MongoDB等),DTS会自动更新连接信息,您无需手动调用本接口。
说明
-
如果数据同步实例的同步拓扑为双向,且源或目标实例发生主备切换,则需要调用两次本接口,更新主备切换后新数据库的连接信息。
比如当正向的目标数据库发生主备切换时,您需要调用两次本接口。第一次调用时,SynchronizationDirection为Forward,Endpoint.Type 为Destination,并传入新数据库的连接信息。第二次调用时,SynchronizationDirection为Reverse,Endpoint.Type 为Source,并传入新数据库的连接信息。
-
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | SwitchSynchronizationEndpoint |
系统规定参数,取值:SwitchSynchronizationEndpoint。 |
Endpoint.InstanceId | String | 是 | i-bp11haem1kpkhoup**** |
ECS或专有网络的实例ID。 说明
|
Endpoint.InstanceType | String | 是 | ECS |
新数据库所属的实例类型,取值:
|
Endpoint.Port | String | 是 | 3306 |
新的数据库服务端口。 |
Endpoint.Type | String | 是 | Destination |
待调整连接信息的实例,取值:
|
SynchronizationJobId | String | 是 | dtsexjk1alb116**** |
数据同步实例ID,可以通过调用DescribeSynchronizationJobs接口查询。 |
RegionId | String | 否 | cn-hangzhou |
地域ID,传入本参数来指定实例所在地域,详情请参见支持的地域列表。 |
SynchronizationDirection | String | 否 | Forward |
同步方向,取值:
说明 默认取值为Forward。
只有当数据同步实例的同步拓扑为双向同步时,本参数传入Reverse才会生效。 |
Endpoint.IP | String | 否 | 172.15.185.*** |
新数据库的IP地址。 说明 当Endpoint.InstanceType取值为Express时,本参数才可用且必须传入。
|
SourceEndpoint.OwnerID | String | 否 | 14069264**** |
当源实例与目标实例所属阿里云账号不同时,您需要传入该参数指定源实例的所属阿里云账号的ID。 |
SourceEndpoint.Role | String | 否 | ram-for-dts |
当源实例与目标实例所属阿里云账号不同时,需传入该参数,来指定源实例的授权角色,以允许目标实例阿里云账号访问源实例的实例信息。 说明 角色所需的权限及授权方式,请参见跨阿里云账号数据迁移或同步时如何配置RAM授权。
|
AccountId | String | 否 | 12323344**** |
阿里云账号ID,无需设置,该参数即将下线。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
ErrCode | String | InternalError |
调用出错时返回的错误码。 |
ErrMessage | String | The request processing has failed due to some unknown error. |
调用错误时返回对应的错误信息。 |
RequestId | String | 3232F84C-C961-4811-B014-4EA7A27C**** |
请求ID。 |
Success | String | true |
是否成功。 |
TaskId | String | 11**** |
任务ID,您可以根据此返回值调用DescribeEndpointSwitchStatus接口查询该任务的执行状态。 |
示例
请求示例
http(s)://dts.aliyuncs.com/?Action=SwitchSynchronizationEndpoint
&Endpoint.InstanceId=i-bp11haem1kpkhoup****
&Endpoint.InstanceType=ECS
&Endpoint.Port=3306
&Endpoint.Type=Destination
&SynchronizationJobId=dtsexjk1alb116****
&<公共请求参数>
正常返回示例
XML
格式
<SwitchSynchronizationEndpointResponse>
<RequestId>3232F84C-C961-4811-B014-4EA7A27C****</RequestId>
<Success>true</Success>
<TaskId>11****</TaskId>
</SwitchSynchronizationEndpointResponse>
JSON
格式
{
"SwitchSynchronizationEndpointResponse": {
"RequestId": "3232F84C-C961-4811-B014-4EA7A27C****",
"Success": true,
"TaskId": "11****"
}
}
错误码
访问错误中心查看更多错误码。