當資料同步作業的來源資料庫或目標資料庫發生了主備切換時,您可以調用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 | 當源執行個體與目標執行個體所屬阿里雲帳號不同時,需傳入該參數,來指定源執行個體的授權角色,以允許目標執行個體阿里雲帳號訪問源執行個體的執行個體資訊。 |
| 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****"
}
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。