配置一個遷移或同步任務。
- 您可以根據需求在控制臺進行相應的預配置,然后預覽對應配置的OpenAPI參數信息,以協助您填寫請求參數。更多信息,請參見預覽OpenAPI的請求參數。
- 專屬集群的任務僅支持先配置后購買,且不支持跨地域的任務。
調試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
請求參數
名稱 |
類型 |
是否必選 |
示例值 |
描述 |
Action | String | 是 | ConfigureDtsJob | 系統規定參數。取值:ConfigureDtsJob。 |
DtsJobName | String | 是 | rdsmysql_to_mysql | DTS實例名稱。 |
SourceEndpointInstanceType | String | 是 | RDS | 源實例類型,取值: 阿里云數據庫
|
SourceEndpointInstanceID | String | 否 | rm-bp1imrtn6fq7h**** | 源實例ID。 如源實例為阿里云數據庫(如RDS MySQL),則您需要傳入阿里云數據庫的ID(如RDS MySQL的實例ID)。 如源實例為自建數據庫,則根據SourceEndpointInstanceType的取值不同,本參數的取值有所變化,例如SourceEndpointInstanceType取值為:
說明 取值為CEN時,您還需要在預留參數Reserve中傳入云企業網CEN的實例ID。配置方式,請參見Reserve參數說明。 |
SourceEndpointEngineName | String | 否 | MYSQL | 源實例的數據庫類型。
說明
|
SourceEndpointRegion | String | 否 | cn-hangzhou | 源實例區域,詳情請參見支持的地域列表。 說明 如源為阿里云數據庫,則該參數必須傳入。 |
SourceEndpointIP | String | 否 | 172.16.**.*** | 源實例的IP地址。 說明 當SourceEndpointInstanceType為OTHER、EXPRESS、DG、CEN時,本參數才可用且必須傳入。 |
SourceEndpointPort | String | 否 | 3306 | 源實例的數據庫服務端口。 說明 當源實例為自建數據庫時,本參數才可用且必須傳入。 |
SourceEndpointOracleSID | String | 否 | testsid | Oracle數據庫的SID信息。 說明 當SourceEndpointEngineName取值為Oracle,且Oracle數據庫為非RAC實例時,本參數才可用且必須傳入。 |
SourceEndpointDatabaseName | String | 否 | dtstestdatabase | 源實例中遷移對象所屬的數據庫名稱。 說明 當源實例或者源實例的數據庫類型為PolarDB PostgreSQL版(兼容Oracle)、PostgreSQL、MongoDB數據庫時,本參數才可用且必須傳入。 |
SourceEndpointUserName | String | 否 | dtstest | 源庫的數據庫賬號。 說明
|
SourceEndpointPassword | String | 否 | Test123456 | 源庫數據庫賬號密碼。 |
SourceEndpointOwnerID | String | 否 | 140692647406**** | 源實例所屬的阿里云賬號ID。 說明 傳入本參數即代表執行跨阿里云賬號的數據遷移或同步,同時您還需要傳入SourceEndpointRole參數。 |
SourceEndpointRole | String | 否 | ram-for-dts | 源實例所屬云賬號配置的角色名稱。 說明 執行跨阿里云賬號的數據遷移或同步時須傳入本參數,該角色所需的權限及授權方式,請參見跨阿里云賬號數據遷移或同步時如何配置RAM授權。 |
DestinationEndpointInstanceType | String | 是 | EXPRESS | 目標實例類型,取值: 阿里云數據庫
|
DestinationEndpointInstanceID | String | 否 | vpc-bp1opxu1zkhn00gzv**** | 目標實例ID。 如目標實例為云數據庫(如RDS MySQL),則您需要傳入云數據庫的實例ID(如RDS MySQL的實例ID)。 如目標實例為自建數據庫,則根據DestinationEndpointInstanceType的取值不同,本參數的取值有所變化,例如DestinationEndpointInstanceType取值為:
說明 取值為CEN時,您還需要在預留參數Reserve中傳入云企業網CEN的實例ID。配置方式,請參見Reserve參數說明。 |
DestinationEndpointEngineName | String | 否 | MYSQL | 目標實例的數據庫類型。
說明
|
DestinationEndpointRegion | String | 否 | cn-hangzhou | 目標實例區域,請參見支持的地域列表。 說明 如目標為阿里云數據庫,則該參數必須傳入。 |
DestinationEndpointIP | String | 否 | 172.16.**.*** | 目標實例的IP地址。 說明 當DestinationEndpointInstanceType為OTHER、EXPRESS、DG、CEN時,本參數才可用且必須傳入。 |
DestinationEndpointPort | String | 否 | 3306 | 目標實例的數據庫服務端口。 說明 當目標實例為自建數據庫時,本參數才可用且必須傳入。 |
DestinationEndpointDataBaseName | String | 否 | dtstestdata | 目標實例中遷移對象所屬的數據庫名稱。 說明
|
DestinationEndpointUserName | String | 否 | dtstest | 目標庫的數據庫賬號。 說明
|
DestinationEndpointPassword | String | 否 | Test123456 | 目標庫數據庫賬號密碼。 說明 若目標庫為MaxCompute,您需要填寫為阿里云賬號(主賬號)的AccessKey Secret。獲取方式,請參見創建AccessKey。 |
DestinationEndpointOwnerID | String | 否 | 140692647406**** | 目標RDS MySQL實例所屬的阿里云賬號ID。 說明
|
DestinationEndpointRole | String | 否 | ram-for-dts | 目標實例所屬云賬號配置的角色名稱。 說明 執行跨阿里云賬號的數據遷移或同步時須傳入本參數,該角色所需的權限及授權方式,請參見跨阿里云賬號數據遷移或同步時如何配置RAM授權。 |
StructureInitialization | Boolean | 是 | true | 是否執行庫表結構遷移或初始化,取值:
說明 若JobType取值為CHECK,只能取值為false。 |
DataInitialization | Boolean | 是 | true | 是否執行全量數據遷移或全量數據初始化,取值:
說明 若JobType取值為CHECK,只能取值為false。 |
DataSynchronization | Boolean | 是 | true | 是否執行增量數據遷移或同步,取值:
說明 若JobType取值為CHECK,只能取值為false。 |
DbList | String | 是 | {"dtstest":{"name":"dtstest","all":true}} | 待遷移或同步的對象,格式為JSON串。詳細定義說明,請參見遷移、同步或訂閱對象說明。 說明 DbList最多支持傳入10 MB的數據。 |
Reserve | String | 否 | { "srcInstanceId": "cen-9kqshqum*******" } | DTS預留參數,格式為JSON字符串,您可以傳入本參數完善源目庫信息(如目標Kafka數據庫的數據存儲格式、云企業網CEN的實例ID)。更多信息,請參見Reserve參數說明。 |
Checkpoint | String | 否 | 1610540493 | 增量數據遷移的啟動位點或者同步位點,格式為Unix時間戳,單位為秒。 說明 若需傳入Checkpoint參數,必須確保不存在與目標DTS實例相同源庫的其他正在運行的DTS實例。 |
DestinationEndpointOracleSID | String | 否 | testsid | Oracle數據庫的SID信息。 說明 當DestinationEndpointEngineName取值為Oracle,且Oracle數據庫為非RAC實例時,本參數才可用且必須傳入。 |
JobType | String | 是 | SYNC | 任務類型,取值為:
說明 若取值為MIGRATION或SYNC,您也可以在遷移或同步實例中配置數據校驗任務。 |
DtsJobId | String | 否 | k2gm967v16f**** | 遷移或同步任務ID。 說明 可調用DescribeDtsJobs獲取任務ID。 |
DtsInstanceId | String | 否 | dtsk2gm967v16f**** | 遷移或同步實例ID。 說明 可調用DescribeDtsJobs獲取實例ID。 |
DelayPhone | String | 否 | 1361234****,1371234**** | 延遲報警的聯系人手機號碼,多個手機號碼以英文逗號(,)分隔。 說明
|
DelayRuleTime | Long | 否 | 10 | 觸發延遲報警的閾值,單位為秒且需為整數,可根據業務需要設置閾值,建議設置10秒以上,避免因網絡、數據庫負載等原因導致的延遲波動。 說明 當DelayNotice取值為true時,本參數必須傳入。 |
DelayNotice | Boolean | 否 | true | 是否監控延遲狀態,取值:
|
ErrorPhone | String | 否 | 1361234****,1371234**** | 異常報警的聯系人手機號碼,多個手機號碼以英文逗號(,)分隔。 說明
|
ErrorNotice | Boolean | 否 | true | 是否監控異常狀態,取值:
|
SynchronizationDirection | String | 否 | Forward | 同步方向,取值:
說明
|
RegionId | String | 否 | cn-hangzhou | DTS實例所屬的地域,請參見支持的地域列表。 |
DedicatedClusterId | String | 否 | dtscluster_atyl3b5214uk*** | DTS專屬集群ID。 說明 當傳入專屬集群的ID時,任務調度到相應的集群上。 |
FileOssUrl | String | 否 | http://db-list-os-file.oss-cn-shanghai.aliyuncs.com/8e42_121852**********_79dd3aeabe2f43cdb************** | 任務文件的OSS地址。 |
DataCheckConfigure | String | 否 | {"fullCheckModel":1,"fullCheckRatio":20,"checkMaximumHourEnable":1,"checkMaximumHour":1,"fullCheckErrorNotice":true,"fullCheckValidFailNotice":true,"fullCheckNoticeValue":8,"incrementalCheckErrorNotice":true,"incrementalCheckValidFailNotice":true,"incrementalCheckValidFailNoticeTimes":2,"incrementalCheckValidFailNoticePeriod":1,"incrementalCheckValidFailNoticeValue":1,"incrementalCheckDelayNotice":true,"incrementalCheckDelayNoticeTimes":2,"incrementalCheckDelayNoticePeriod":1,"incrementalCheckDelayNoticeValue":60,"fullDataCheck":true,"incrementalDataCheck":true,"dataCheckNoticePhone":"13126800****","dataCheckDbList":{"dts":{"name":"dts","all":true}}} | 數據校驗任務的參數,格式為JSON字符串,如參數限制或告警配置等信息。更多信息請參見DataCheckConfigure參數說明。 |
DisasterRecoveryJob | Boolean | 否 | true | 是否為災備實例,取值:
|
SourceEndpointVSwitchID | String | 否 | vsw-bp10df3mxae6lpmku**** | 數據投遞鏈路交換機實例ID。 |
DtsBisLabel | String | 否 | normal | DTS實例的環境標簽,取值為:
|
SrcCaCertificateOssUrl | String | 否 | **** | 源庫通過SSL安全連接時,CA證書的路徑。 說明 當前暫不支持此功能,請勿傳入此參數。 |
SrcCaCertificatePassword | String | 否 | **** | 源庫通過SSL安全連接時,CA證書的密鑰。 說明 當前暫不支持此功能,請勿傳入此參數。 |
DestCaCertificateOssUrl | String | 否 | **** | 目標庫通過SSL安全連接時,CA證書的路徑。 說明 當前暫不支持此功能,請勿傳入此參數。 |
DestCaCertificatePassword | String | 否 | **** | 目標庫通過SSL安全連接時,CA證書的密鑰。 說明 當前暫不支持此功能,請勿傳入此參數。 |
MinDu | double | 否 | 1 | DU下限。 說明 僅Serverless實例支持。 |
MaxDu | double | 否 | 16 | DU上限。 說明 僅Serverless實例支持。 |
SrcClientCertOssUrl | String | 否 | **** | 源庫通過SSL安全連接時,客戶端證書的路徑。 說明 當前暫不支持此功能,請勿傳入此參數。 |
SrcClientKeyOssUrl | String | 否 | **** | 源庫通過SSL安全連接時,客戶端證書私鑰的路徑。 說明 當前暫不支持此功能,請勿傳入此參數。 |
SrcClientPassword | String | 否 | **** | 源庫通過SSL安全連接時,客戶端證書私鑰的密碼。 說明 當前暫不支持此功能,請勿傳入此參數。 |
DestClientCertOssUrl | String | 否 | **** | 目標庫通過SSL安全連接時,客戶端證書的路徑。 說明 當前暫不支持此功能,請勿傳入此參數。 |
DestClientKeyOssUrl | String | 否 | **** | 目標庫通過SSL安全連接時,客戶端證書私鑰的路徑。 說明 當前暫不支持此功能,請勿傳入此參數。 |
DestClientPassword | String | 否 | **** | 目標庫通過SSL安全連接時,客戶端證書私鑰的密碼。 說明 當前暫不支持此功能,請勿傳入此參數。 |
SrcPrimaryVswId | String | 否 | **** | VPCNAT源端主VSW |
SrcSecondaryVswId | String | 否 | **** | VPCNAT源端備VSW |
DestPrimaryVswId | String | 否 | **** | VPCNAT目的端主VSW |
DestSecondaryVswId | String | 否 | **** | VPCNAT目的端備VSW |
ResourceGroupId | String | 否 | rg-acfmzawhxxc**** | 資源組ID。 |
返回數據
名稱 |
類型 |
示例值 |
描述 |
HttpStatusCode | String | 200 | 狀態碼。 |
RequestId | String | 224DB9F7-3100-4899-AB9C-C938BCCB**** | 請求ID。 |
ErrCode | String | InternalError | 調用出錯時返回的錯誤碼。 |
DtsJobId | String | k2gm967v16f**** | 遷移或同步任務ID。 |
DtsInstanceId | String | dtsk2gm967v16f**** | 遷移或同步實例ID。 |
Success | String | true | 請求是否成功。 |
ErrMessage | String | The request processing has failed due to some unknown error. | 調用錯誤時返回對應的錯誤信息。 |
示例
請求示例
http(s)://dts.aliyuncs.com/?Action=ConfigureDtsJob
&RegionId=cn-hangzhou
&SourceEndpointInstanceType=RDS
&DestinationEndpointInstanceType=EXPRESS
&StructureInitialization=true
&DataInitialization=true
&DataSynchronization=true
&DbList={"dtstest":{"name":"dtstest","all":true}}
&JobType=SYNC
&SourceEndpointInstanceID=rm-bp1imrtn6fq7h****
&SourceEndpointEngineName=MYSQL
&SourceEndpointRegion=cn-hangzhou
&SourceEndpointUserName=dtstest
&SourceEndpointPassword=Test123456
&DestinationEndpointInstanceID=vpc-bp1opxu1zkhn00gzv****
&DestinationEndpointEngineName=MYSQL
&DestinationEndpointIP=172.16.**.***
&DestinationEndpointRegion=cn-hangzhou
&DestinationEndpointPort=3306
&DestinationEndpointUserName=dtstest
&DestinationEndpointPassword=Test123456
&DtsJobId=k2gm967v16f****
&DtsInstanceId=dtsk2gm967v16f****
&DtsJobName=rdsmysql至專線接入的自建mysql
&<公共請求參數>
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<ConfigureDtsJobResponse>
<DtsJobId>k2gm967v16f****</DtsJobId>
<RequestId>224DB9F7-3100-4899-AB9C-C938BCCB****</RequestId>
<HttpStatusCode>200</HttpStatusCode>
<DtsInstanceId>dtsk2gm967v16f****</DtsInstanceId>
<Success>true</Success>
</ConfigureDtsJobResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"DtsJobId" : "k2gm967v16f****",
"RequestId" : "224DB9F7-3100-4899-AB9C-C938BCCB****",
"HttpStatusCode" : 200,
"DtsInstanceId" : "dtsk2gm967v16f****",
"Success" : true
}
錯誤碼
HttpCode |
錯誤碼 |
錯誤信息 |
描述 |
403 | InvalidParameter.KafkaBrokerInvalid | kafka broker configuration must be intranet IP | Ecs自建Kafka節點的配置必須為ip,不支持節點配置為host |
403 | InvalidParameter.KafkaHostInvalid | kafaka host name should be intranet IP | kafka主機名暫不支持host形式,請輸入內網IP |
403 | UpdateJob.OperationDenied.InitStatus | The operation is not permitted due to Dts job status is init. | 當前任務已經啟動,無法修改,請使用重新配置任務功能(已配置任務會丟失)或者修改同步對象功能 |
403 | GetMongoDbShardInfo.NoShardAddress | MongoDb has not yet opened the shard connection address, please try again after opening. | 無法獲取分片連接信息,檢查配置參數,確認數據庫確實為分片MongoDb,并確定已經開通shard地址。 |
403 | GetMongoDbShardInfo.EmptyInstances | Failed to get MongoDb shard information, the return is empty. | 無法獲取分片信息,請檢查配置參數,確認數據庫確實為分片MongoDb。 |
403 | CheckJobFailed.ServerUnAvailable | Unable to check whether the node can connect to the database because the node service is unavailable. | DTS下部分Node服務器無法連接,請重試,重試后仍出現請聯系技術支持。 |
403 | DbTypeNotSupport.PolarDBRDS | The current rds instance is of type PolarDB, which is not supported for the time being. Only rds instances under drds are supported. | DTS暫不支持分庫類型為PolarDb MySQL的DRDS類型的同步。 |
403 | DbTypeNotSupport.OnlyReadRDS | Synchronization is not currently supported due to latency issues with read-only DRDS instances. | DTS暫時不支持為分庫只讀庫類型的DRDS同步。 |
403 | DTS.Msg.InvalidParameter.KafkaBrokerInvalid | kafka broker configuration must be intranet IP | Ecs自建Kafka節點的配置必須為ip,不支持節點配置為host |
403 | DTS.Msg.InvalidParameter.KafkaHostInvalid | kafaka host name should be intranet IP | kafka主機名暫不支持host形式,請輸入內網IP |
403 | DTS.Msg.UpdateJob.OperationDenied.InitStatus | The operation is not permitted due to Dts job status is init. | 當前任務已經啟動,無法修改,請使用重新配置任務功能(已配置任務會丟失)或者修改同步對象功能 |
403 | DTS.Msg.GetMongoDbShardInfo.NoShardAddress | MongoDb has not yet opened the shard connection address, please try again after opening. | 無法獲取分片連接信息,檢查配置參數,確認數據庫確實為分片MongoDb,并確定已經開通shard地址。 |
403 | DTS.Msg.GetMongoDbShardInfo.EmptyInstances | Failed to get MongoDb shard information, the return is empty. | 無法獲取分片信息,請檢查配置參數,確認數據庫確實為分片MongoDb。 |
403 | DTS.Msg.CheckJobFailed.ServerUnAvailable | Unable to check whether the node can connect to the database because the node service is unavailable. | DTS下部分Node服務器無法連接,請重試,重試后仍出現請聯系技術支持。 |
403 | DTS.Msg.DbTypeNotSupport.PolarDBRDS | The current rds instance is of type PolarDB, which is not supported for the time being. Only rds instances under drds are supported. | DTS暫不支持分庫類型為PolarDb MySQL的DRDS類型的同步。 |
403 | DTS.Msg.DbTypeNotSupport.OnlyReadRDS | Synchronization is not currently supported due to latency issues with read-only DRDS instances. | DTS暫時不支持為分庫只讀庫類型的DRDS同步。 |
403 | InvalidSecurityToken.Expired | Specified SecurityToken is expired. | 簽名已經過期,請更新簽名 |
400 | Throttling.User | Request was denied due to user flow control. | 由于請求頻次達到閾值,請求被拒絕,請稍后重試。 |
500 | ServiceUnavailable | The request has failed due to a temporary failure of the server. | 由于服務端響應超時或者不可用導致請求失敗,請重試,重試后仍失敗請聯系技術支持。 |
訪問錯誤中心查看更多錯誤碼。