當數據同步作業的源數據庫或目標數據庫發生了主備切換時,您可以調用SwitchSynchronizationEndpoint接口,將主備切換后新數據庫的連接信息傳給DTS,DTS將從斷點處重新啟動數據同步任務。

  • 如發生主備切換的源或目標實例是公網、ECS或專線接入的自建MySQL,您需調用本接口,來更新主備切換后的新數據庫的連接信息。
  • 如發生主備切換的源或目標實例是阿里云數據庫實例(例如RDS、MongoDB等),DTS會自動更新連接信息,您無需手動調用本接口。
    說明
    • 如果數據同步實例的同步拓撲為雙向,且源或目標實例發生主備切換,則需要調用兩次本接口,更新主備切換后新數據庫的連接信息。

      比如當正向的目標數據庫發生主備切換時,您需要調用兩次本接口。第一次調用時,SynchronizationDirectionForwardEndpoint.Type Destination,并傳入新數據庫的連接信息。第二次調用時,SynchronizationDirectionReverseEndpoint.Type Source,并傳入新數據庫的連接信息。

調試

您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。

請求參數

名稱 類型 是否必選 示例值 描述
Action String SwitchSynchronizationEndpoint

系統規定參數,取值:SwitchSynchronizationEndpoint

Endpoint.InstanceId String i-bp11haem1kpkhoup****

ECS或專有網絡的實例ID。

說明
  • Endpoint.InstanceType取值為ECS時,本參數需傳入ECS實例的ID。
  • Endpoint.InstanceType取值為Express時,本參數需傳入專有網絡ID。
Endpoint.InstanceType String ECS

新數據庫所屬的實例類型,取值:

  • LocalInstance:有公網IP的自建數據庫;
  • ECS:ECS上的自建數據庫。
  • Express:通過專線接入的自建數據庫。
Endpoint.Port String 3306

新的數據庫服務端口。

Endpoint.Type String Destination

待調整連接信息的實例,取值:

  • Source:源實例。
  • Destination:目標實例。
SynchronizationJobId String dtsexjk1alb116****

數據同步實例ID,可以通過調用DescribeSynchronizationJobs接口查詢。

RegionId String cn-hangzhou

地域ID,傳入本參數來指定實例所在地域,詳情請參見支持的地域列表

SynchronizationDirection String Forward

同步方向,取值:

  • Forward:正向。
  • Reverse:反向。
說明 默認取值為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****"
    }
}

錯誤碼

訪問錯誤中心查看更多錯誤碼。