当数据同步作业的源数据库或目标数据库发生了主备切换,您可以调用SwitchSynchronizationEndpoint接口,将主备切换后新数据库的连接信息传给DTS,DTS将从断点处重新启动数据同步。

前提条件

数据同步作业的源数据库或目标数据库发生了主备切换,导致连接信息发生变化。

说明 数据库类型需为MySQL。

请求参数

名称 类型 是否必选 示例值 描述
Action String SwitchSynchronizationEndpoint 要执行的操作,取值:SwitchSynchronizationEndpoint
SynchronizationJobId String dtsxxxxxxxx 数据同步实例ID。
EndpointType String Source 待调整连接信息的数据库,取值:
  • Source:源数据库。
  • Destination:目标数据库。
EndpointInstanceType String ECS 新数据库所属的实例类型,取值:
  • ECS:ECS上的自建数据库。
  • Express:通过专线接入的本地数据库。
EndpointInstanceId String i-bpxxxxxxxx ECS实例ID。
说明EndpointInstanceType取值为ECS时,本参数才可用且必须传入。
EndpointPort String 3306 新数据库的数据库服务端口。
EndpointIP String 172.16.xx.xx 新数据库的IP地址。
说明EndpointInstanceType取值为Express时,本参数才可用且必须传入。
SynchronizationDirection String Forward 同步方向,取值:
  • Forward:单向同步。
  • Reverse:双向同步。
说明 默认取值为Forward

返回参数

名称 类型 示例值 描述
RequestId String 36923CC2-DDAB-4B48-A144-DA92C1E19537 请求ID。
TaskId String 1xxxxxx 任务ID,您可以根据此返回值调用DescribeEndpointSwitchStatusRequest接口查询该任务的执行状态。
Success String true 是否调用成功,取值truefalse

示例

public String endpointSwitch(String synchronizationJobId, String synchronizationDirection, String endpointType, String endpointInstanceType, String endpointInstanceId,
      String endpointIp, String endpointPort)
  {
    SwitchSynchronizationEndpointRequest request = new SwitchSynchronizationEndpointRequest();

    request.setSynchronizationJobId(synchronizationJobId);
    request.setSynchronizationDirection(synchronizationDirection);
    request.setEndpointType(endpointType);
    request.setEndpointInstanceType(endpointInstanceType);
    request.setEndpointInstanceId(endpointInstanceId);
    request.setEndpointIP(endpointIp);
    request.setEndpointPort(endpointPort);

    try
    {
      SwitchSynchronizationEndpointResponse response = client.getAcsResponse(request);
      String taskId = response.getTaskId();
      return taskId;
    } 
    catch (Exception e)
    {
      System.out.println("Switch synchronization endpoint failed");
      System.out.println(e.toString());
    }
    return null;
  }

错误码

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