全部產品
Search
文件中心

Data Transmission Service:修改DTS任務的源或目標庫執行個體

更新時間:Feb 11, 2025

調用ModifyDtsJobEndpoint介面修改DTS同步或遷移任務的源或目標庫執行個體。

說明 資料庫執行個體被修改後,DTS增量寫入模組會回退10秒寫入。若同步或遷移的資料沒有主鍵,在替換資料庫執行個體期間源端執行個體關聯的業務需要停止寫入資料,否則可能會出現重複資料。

調試

您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。

請求參數

名稱

類型

是否必選

樣本值

描述

Action String ModifyDtsJobEndpoint

系統規定參數。取值:ModifyDtsJobEndpoint

RegionId String cn-hangzhou

DTS執行個體所屬的地區。

DtsJobId String m4312mab158****

DTS任務ID,可調用DescribeDtsJobs查詢。

說明 若不填入此參數,則必須填入DtsInstanceId
DtsInstanceId String dtsaw012y2g15q****

DTS執行個體的ID。

說明 若不填入此參數,則必須填入DtsJobId
SynchronizationDirection String Forward

同步方向,取值:

  • Forward(預設值):正向。
  • Reverse:反向。
Endpoint String src

待修改的資料庫執行個體,取值:

  • src:源庫執行個體。
  • dest:目標庫執行個體。
EndpointRegionId String cn-hangzhou

資料庫執行個體所屬的地區。

EndpointInstanceType String rds

資料庫執行個體類型,取值為:

  • rds:RDS MySQL或RDS PostgreSQL。
  • polardb:PolarDB MySQL版或PolarDB PostgreSQL版。
  • mongodb:作為源庫時,表示ApsaraDB for MongoDB(複本集架構);作為目標庫時,表示ApsaraDB for MongoDB(複本集架構或分區叢集架構)。
  • distributed_mongodb:僅支援作為分布式執行個體的源庫,表示ApsaraDB for MongoDB(分區叢集架構)。
說明 分布式執行個體的增量任務,必須通過Oplog日誌擷取源庫的資料變更。
  • greenplum:雲原生資料倉儲AnalyticDB PostgreSQL版。
  • kafka:雲訊息佇列Kafka版。
  • ecs:ECS自建的資料庫(僅限支援的資料庫類型)。
  • express:專線接入的資料庫(僅限支援的資料庫類型)。
  • other:公網接入的資料庫(僅限支援的資料庫類型)。
說明
  • 當前支援的資料庫類型有MySQLPolarDB for MySQLPostgreSQLPolarDB for PostgreSQLMongoDBKafkaAnalyticDB PostgreSQL
  • 若資料庫為MongoDB(分區叢集),則新資料庫的Shard數量需與原來的MongoDB(分區叢集)相同。
  • 若需要修改的是源庫執行個體,且資料庫類型為PostgreSQL,則需確保DTS執行個體的延遲時間小於30秒,並且停止向源庫寫入資料,否則可能會出現不一致資料。
  • 傳入的參數大小寫不敏感。
EndpointInstanceId String rm-bp10k50h8374w****

資料庫執行個體的ID。

EndpointIp String 172.168.XX.XXX

資料庫執行個體的IP。

EndpointPort String 3306

資料庫執行個體的連接埠。

ModifyAccount Boolean false

是否修改帳號密碼,取值為:

  • true:是。
  • false(預設值):否。
Username String dtstest

資料庫帳號。

說明 僅當ModifyAccount取值為true時才生效。
Password String DTStest****

資料庫密碼。

說明 僅當ModifyAccount取值為true時才生效。
Database String admin

當資料庫類型為PostgreSQLPolarDB for PostgreSQLAnalyticDB PostgreSQL時,表示資料庫名稱;當資料庫類型為MongoDB時,表示鑒權資料庫名稱。

說明 當資料庫類型為PostgreSQLPolarDB for PostgreSQLAnalyticDB PostgreSQLMongoDB時,本參數才可用且必須傳入。
ShardUsername String shard

MongoDB分區叢集執行個體的Shard的帳號。

說明
  • 當來源資料庫執行個體為MongoDB(分區叢集架構)時,本參數才可用且必須傳入。
  • ModifyAccount取值為true時才生效。
ShardPassword String DTStest****

MongoDB分區叢集執行個體的Shard的密碼。

說明
  • 當來源資料庫執行個體為MongoDB(分區叢集架構)時,本參數才可用且必須傳入。
  • ModifyAccount取值為true時才生效。
RoleName String ram-for-dts

跨阿里雲帳號角色名稱。

說明 執行跨阿里雲帳號的資料同步時須傳入本參數,該角色所需的許可權及授權方式,請參見跨阿里雲帳號資料移轉或同步時如何配置RAM授權
AliyunUid String 150780020300****

資料庫執行個體所屬的阿里雲帳號(主帳號)的ID。

說明 傳入本參數即代表執行跨阿里雲帳號的資料同步,同時您還需要傳入RoleName參數。
DryRun Boolean true

是否只進行預檢查,取值為:

  • true:是。預檢查通過後,執行個體不進行變更操作。
  • false(預設值):否。預檢查通過後,修改DTS任務的資料庫執行個體並運行。
ResourceGroupId String rg-acfmzawhxxc****

資源群組ID。

返回資料

名稱

類型

樣本值

描述

HttpStatusCode String 200

狀態代碼。

RequestId String 3FA98DF2-2F81-51FF-8A38-AA5112DD****

請求ID。

Success Boolean true

請求是否成功。

ErrCode String DTS.Msg.InvalidEndpoint

調用出錯時返回的錯誤碼。

ErrMessage String The endpoint is invalid.

調用錯誤時返回的錯誤資訊。

樣本

請求樣本

http(s)://dts.aliyuncs.com/?Action=ModifyDtsJobEndpoint
&RegionId=cn-hangzhou
&DtsInstanceId=dtsaw012y2g15q****
&SynchronizationDirection=Forward
&Endpoint=src
&EndpointInstanceType=rds
&EndpointInstanceId=rm-bp10k50h8374w****
&Username=dtstest
&Password=DTStest****
&DryRun=true
&公用請求參數

正常返回樣本

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<ModifyDtsJobEndpointResponse>
    <HttpStatusCode>200</HttpStatusCode>
    <RequestId>3FA98DF2-2F81-51FF-8A38-AA5112DD****</RequestId>
    <Success>true</Success>
</ModifyDtsJobEndpointResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "HttpStatusCode" : "200",
  "RequestId" : "3FA98DF2-2F81-51FF-8A38-AA5112DD****",
  "Success" : true
}

錯誤碼

HttpCode

錯誤碼

錯誤資訊

描述

400 InvalidParameter.TagKey The Tag.N.Key parameter is invalid. 標籤鍵無效,請輸入有效標籤鍵。
400 InvalidParameter.TagValue The Tag.N.Value parameter is invalid. 標籤值無效,請輸入有效標籤值。
400 InvalidParameter.Tags The specified value of parameter Tags is not valid. 標籤的鍵或值無效,請輸入有效標籤鍵或值。
400 Missing.TagKey You must specify the key for value %s in Tag.N.Key. 同一個N的標籤索引值對,對應的Value缺失相同Key。
400 MissingParameter.TagOrResourceId Either Tags or ResourceIds must be specified. 標籤和ResourceId(DTS執行個體ID)均不可以為空白。
400 NumberExceed.Tags The maximum number of Tags is exceeded. The maximum value is 20. 已超過標籤數量上限(上限:20個),請先刪除不需要的標籤。
400 NumberExceed.ResourceIds The maximum number of ResourceIds is exceeded. The maximum value is 50. 已超過ResourceId(DTS執行個體ID)的數量上限(上限:20個),請先刪除不需要的ResourceId。
400 InvalidParameter.Category The specified Category is invalid. Valid values are Custom and System. 標籤類型非法,合法值為Custom,System。
400 InvalidParameter.NextToken The parameter NextToken is invalid. 參數NextToken(查詢憑證)無效,請輸入正確的NextToken值。
400 InvalidParameter.ResourceType The ResourceType parameter is invalid. 參數ResourceType無效,請輸入固定值ALIYUN::DTS::INSTANCE。
400 InvalidParameter.Scope The specified Scope is invalid. Valid value: public, private. 標籤可見範圍輸入無效,請輸入有效值public或 private。
400 Throttling.User Request was denied due to user flow control. 由於請求頻次達到閾值,請求被拒絕,請稍後重試。
403 Duplicate.TagKey The Tag.N.Key contains duplicate keys. 存在重複的標籤鍵,請刪除多餘的標籤鍵。
403 NoPermission.SystemTag You are not authorized to operate system tag because the product code is invalid. 由於產品code非法,您未被授權操作該系統標籤鍵。
403 QuotaExceed.TagsPerResource The maximum number of tags for each resource is exceeded. 已超過標籤數量上限,請先刪除不需要的標籤。
403 NoPermission.Operator The user is not authorized to operate on the specified resource. 該使用者未被授權在指定的資源上進行操作。
403 InvalidSecurityToken.Expired Specified SecurityToken is expired. 簽名已經到期,請更新簽名
500 ServiceUnavailable The request has failed due to a temporary failure of the server. 由於服務端響應逾時或者不可用導致請求失敗,請重試,重試後仍失敗請聯絡支援人員。

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