This topic describes the OpenAPI provided by OceanBase Migration Service (OMS): UpdateProjectConfig.
Purpose
This API is used to update the parameters of a data migration or synchronization task.
Call description
The interface uses full replacement for updates:
Full coverage: When you call this interface, you must pass a complete set of configuration information.
Unsent means deleted: In the new configuration set, task configuration items not included will be deleted.
Differential update: Only configuration items inconsistent with the current system records will be updated to the new ones you provided.
Limitations
This interface applies to OMS V4.2.4 and later.
Request path
POST /api/v2?Action=UpdateProjectConfig
Request parameters
| Parameter | Type | Description |
|---|---|---|
| id | string | The ID of the data migration, data synchronization, or data validation task. |
| commonTransferConfig | object | The general transfer configuration. |
| ├─ sinkStoreFormat | string | The storage format of the target table object. Valid values: DEFAULT, ROW, COLUMN, and COMPOUND. |
| ├─ sourceStoreFormat | string | The storage format of the source table object. Valid values: DEFAULT, ROW, COLUMN, and COMPOUND. |
| structTransferConfig | object | The configuration for schema migration. |
| ├─ autoProcessedToNextStep | boolean | Specifies whether to automatically proceed to the next step after the schema is migrated. Default value: true. |
| ├─ triggerMigrationType | string | The trigger migration method. Valid values: NOT_MIGRATION (no migration), WITH_STRUCT_TRANSFER (migrate together with schema migration), and WITH_TRANSFER_APP_SWITCH (migrate during forward switchover). |
| fullTransferConfig | object | The configuration for full migration or synchronization. |
| ├─ fullTransferSpeedMode | string | The full migration speed. Valid values: STEADY, NORMAL, FAST, and CUSTOM. |
| ├─ fullTransferSpeedConfig | string | The full migration speed configuration. This parameter takes effect only when fullTransferSpeedMode is set to CUSTOM. |
| ├─├─ memory | integer | The memory limit. Unit: GB. |
| ├─├─ readerWorkerNum | integer | The number of concurrent readers. |
| ├─├─ writerWorkerNum | integer | The number of concurrent writers. |
| ├─ throttleRps | integer | The maximum allowed transfer rate in records per second in the full migration/synchronization phase. Enter null for no limit. |
| ├─ throttleIOPS | integer | The maximum allowed transfer traffic in bytes per second in the full migration/synchronization phase. Enter null for no limit. |
| incrTransferConfig | object | The configuration for incremental synchronization. |
| ├─ startTimestamp | string | The start timestamp of incremental synchronization. This parameter is supported only when incremental synchronization is enabled but full migration is not. |
| ├─ storeLogKeptHour | integer | The log retention period in hours when incremental synchronization and the incremental log puller are both enabled and the incremental log puller is of the Store type. The default value is 7, which indicates 7 days, and the maximum value is 365. |
| ├─ incrLogPullSpeedMode | string | The incremental log pull speed. Valid values: STEADY (low), NORMAL (medium), FAST (high), and CUSTOM (custom). |
| ├─ incrLogPullSpeedConfig | string | The incremental log pull resource configuration. This parameter takes effect only when incrLogPullSpeedMode is set to CUSTOM. |
| ├─├─ memory | integer | The memory limit for incremental log pull. |
| ├─ incrLogSyncSpeedMode | string | The incremental data write speed. Valid values: STEADY (low), NORMAL (medium), FAST (high), and CUSTOM (custom). |
| ├─ incrLogSyncSpeedConfig | string | The incremental data write resource configuration. This parameter takes effect only when incrLogSyncSpeedMode is set to CUSTOM. |
| ├─├─ memory | integer | The memory limit for incremental log write. |
| ├─├─ readerWorkerNum | integer | The number of concurrent Kafka readers. This parameter is supported only when the Oracle data source serves as the target and incremental data is obtained through Kafka. |
| ├─├─ writerWorkerNum | integer | The number of concurrent writers for incremental logs. |
| ├─ throttleRps | integer | The maximum allowed transfer rate in records per second in the incremental synchronization phase. Enter null for no limit. |
| ├─ throttleIOPS | integer | The maximum allowed transfer traffic in bytes per second in the incremental synchronization phase. Enter null for no limit. |
| ├─ recordTypeWhiteList | array | The types of incremental data to be synchronized when incremental synchronization is enabled. Valid values: HEARTBEAT, INSERT, UPDATE, DELETE, BEGIN, COMMIT, ROLLBACK, DDL, and ROW. |
| ├─ supportDDLTypes | array | The supported DDL types.
|
| ├─ incrOnlineDdlConfig | array | The configuration for adapting to online DDL tools. Valid values: GH_OST, PT_OSC, and ALIYUN_DMS, indicating gh-ost, pt-osc, and Alibaba Cloud DMS respectively.
|
| reverseIncrTransferConfig | object | The configuration for reverse incremental synchronization. |
| ├─ startTimestamp | string | The start timestamp of reverse incremental synchronization. This parameter is supported only when incremental synchronization is enabled but full migration is not. |
| ├─ storeLogKeptHour | integer | The log retention period in hours when reverse incremental synchronization and the incremental log puller are both enabled and the incremental log puller is of the Store type. The default value is 7, which indicates 7 days, and the maximum value is 365. |
| ├─ incrLogPullSpeedMode | string | The reverse incremental log pull speed. Valid values: STEADY (low), NORMAL (medium), FAST (high), and CUSTOM (custom). |
| ├─ incrLogPullSpeedConfig | string | The reverse incremental log pull resource configuration. This parameter takes effect only when incrLogPullSpeedMode is set to CUSTOM. |
| ├─├─ memory | integer | The memory limit for reverse incremental log pull. |
| ├─ incrLogSyncSpeedMode | string | The reverse incremental data write speed. Valid values: STEADY (low), NORMAL (medium), FAST (high), and CUSTOM (custom). |
| ├─ incrLogSyncSpeedConfig | string | The reverse incremental data write resource configuration. This parameter takes effect only when incrLogSyncSpeedMode is set to CUSTOM. |
| ├─├─ memory | integer | The memory limit for reverse incremental log write. |
| ├─├─ readerWorkerNum | integer | The number of concurrent Kafka readers. This parameter is supported only when the Oracle data source serves as the target and incremental data is obtained through Kafka. |
| ├─├─ writerWorkerNum | integer | The number of concurrent writers for reverse incremental logs. |
| ├─ throttleRps | integer | The maximum allowed transfer rate in records per second in the reverse incremental synchronization phase. Enter null for no limit. |
| ├─ throttleIOPS | integer | The maximum allowed transfer traffic in bytes per second in the reverse incremental synchronization phase. Enter null for no limit. |
| ├─ recordTypeWhiteList | array | The types of incremental data to be synchronized when reverse incremental synchronization is enabled. Valid values: HEARTBEAT, INSERT, UPDATE, DELETE, BEGIN, COMMIT, ROLLBACK, DDL, and ROW. |
| ├─ supportDDLTypes | array | The supported DDL types.
|
| ├─ incrOnlineDdlConfig | array | The configuration for adapting to online DDL tools. Valid values: GH_OST, PT_OSC, and ALIYUN_DMS, indicating gh-ost, pt-osc, and Alibaba Cloud DMS respectively.
|
| fullVerifyConfig | object | The configuration for full validation. |
| ├─ sourceThreads | integer | The number of concurrent threads at the source, ranging from 1 to 512. |
| ├─ sinkThreads | integer | The number of concurrent threads at the target, ranging from 1 to 512. |
| ├─ sourceThrottleBps | integer | The BPS limit at the source, ranging from 1 to 1024, in MiB/s. If this parameter is left empty, no limit is applied. |
| ├─ sinkThrottleBps | integer | The BPS limit at the target, ranging from 1 to 1024, in MiB/s. If this parameter is left empty, no limit is applied. |
| ├─ mode | string | The validation mode. Valid values: AUTO (adaptive mode) and IN (IN mode). |
| ├─ verifySpeedMode | string | The memory configuration for full validation. Valid values: STEADY, NORMAL, FAST, and CUSTOM. |
| ├─ verifySpeedConfig | string | The memory configuration for full validation. This parameter takes effect only when verifySpeedMode is set to CUSTOM. |
| countVerifyConfig | object | The configuration for row count validation. |
| ├─ concurrencyTablesNumber | integer | The number of tables to verify concurrently. This parameter applies to both the source and the target. Valid value: 1 to 100. |
| ├─ queryTimeout | integer | The query timeout period, in seconds. This parameter applies to both the source and the target. Valid value: 1 to 1440. |
| ├─ verifySpeedMode | string | The memory configuration for row count validation. Valid values: STEADY, NORMAL, FAST, and CUSTOM. |
| ├─ verifySpeedConfig | string | The memory configuration for row count validation. This parameter takes effect only when verifySpeedMode is set to CUSTOM. |
| incrVerifyConfig | object | The configuration for incremental validation. |
| ├─ startCheckpoint | string | The start checkpoint for incremental validation, ranging from Now-7d to Now+7d. The format is a timestamp. |
| ├─ endCheckpoint | string | The end checkpoint for incremental validation, ranging from startCheckpoint to +00. The format is a timestamp. If this parameter is not specified, incremental validation continues indefinitely. |
| ├─ initialInspectionCooldownTimeout | integer | The cooldown period for hot data inspection. |
| ├─ initialInspectionDelayTimeout | integer | The inspection period for inconsistent data. |
| ├─ reInspectionThreads | integer | The number of concurrent threads for re-inspection, ranging from 1 to 512. |
| ├─ reInspectiontolerateTimeout | integer | The maximum re-inspection period, in minutes. |
| ├─ reInspectionthrottleBps | integer | The re-inspection BPS limit, ranging from 1 to 1024, in MiB/s. If this parameter is left empty, no limit is applied. |
| ├─ verifySpeedMode | string | The memory configuration for incremental validation. Valid values: STEADY, NORMAL, FAST, and CUSTOM. |
| ├─ verifySpeedConfig | string | The memory configuration for incremental validation. This parameter takes effect only when verifySpeedMode is set to CUSTOM. |
Response parameters
| Parameter | Type | Description |
|---|---|---|
| success | boolean | Indicates whether the call is successful. |
| errorDetail | object | Details of the error. |
| code | string | The error code. |
| message | string | The description. |
| advice | string | The suggestion. |
| requestId | string | The request ID. |
| pageNumber | integer[int32] | The page number. This parameter is effective only when you query data in pages. |
| pageSize | integer[int32] | The page size. This parameter is effective only when you query data in pages. |
| totalCount | integer[int64] | The total number of records. This parameter is effective only when you query data in pages. |
| cost | string | The time spent in processing the request, in seconds. |
Examples
Request example
{
"id":"np_4w3a****",
"commonTransferConfig":{
"sinkStoreFormat":"DEFAULT",
"sourceStoreFormat":"DEFAULT"
},
"structTransferConfig":{
"autoProcessedToNextStep": true,
"triggerMigrationType":"NOT_MIGRATION"
},
"fullTransferConfig":{
"fullTransferSpeedMode":"CUSTOM",
"fullTransferSpeedConfig":{
"memory":4,
"readerWorkerNum":1,
"writerWorkerNum":2
},
"throttleRps": 1000,
"throttleIOPS": 1000
},
"incrTransferConfig":{
"startTimestamp":1689201369,
"storeLogKeptHour":168,
"incrLogPullSpeedMode":"NORMAL",
"incrLogPullSpeedConfig":{
"memory":4
},
"incrLogSyncSpeedMode":"CUSTOM",
"incrLogSyncSpeedConfig":{
"memory":4,
"readerWorkerNum":1,
"writerWorkerNum":2
},
"throttleRps": 1000,
"throttleIOPS": 1000,
"recordTypeWhiteList":[
"DELETE",
"INSERT",
"UPDATE",
"DDL",
],
"supportDDLTypes":[
"CREATE_TABLE",
"ALTER_TABLE"
],
"incrOnlineDdlConfig":[
"ALIYUN_DMS"
]
}
"ReverseIncrTransferConfig":{
"startTimestamp":1689201369,
"recordTypeWhiteList":[
"DELETE",
"INSERT",
"UPDATE"
],
"storeLogKeptHour":120,
"incrSyncConcurrency":64,
"incrLogPullSpeedMode":"NORMAL",
"incrLogPullSpeedConfig":{
"memory":4
},
"incrLogSyncSpeedMode":"CUSTOM",
"incrLogSyncSpeedConfig":{
"memory":4,
"readerWorkerNum":1,
"writerWorkerNum":2
},
"throttleRps": 1000,
"throttleIOPS": 1000,
"enableIncrSyncStatistics":true,
"supportDDLTypes":[
"CREATE_TABLE",
"ALTER_TABLE"
]
}
}
Response example
{
"Success":true,
"ErrorDetail":{
"Code":"CM-RES***11",
"Level":"WARN",
"Message":"A system error occurred.",
"Proposal":"Contact the administrator."
},
"Code":"INNER_ERROR",
"Message":"A system error occurred.",
"Advice":"Contact the administrator.",
"RequestId":"XCVSADG****DSGDS",
"PageNumber":1,
"PageSize":1,
"TotalCount":1,
"Cost":"27 ms"
}