當數據同步作業的源數據庫或目標數據庫發生了主備切換時,您可以調用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****"
}
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。