Updated on 2025-12-15 GMT+08:00

Querying Pre-check Results in Batches

Function

This API is used to query the pre-check results of tasks in batches.

Debugging

You can debug the API in API Explorer to support automatic authentication. API Explorer can automatically generate and debug example SDK code.

Constraints

  • This API can be called only when the pre-check API is invoked.

Authorization Information

Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions. For details about the required permissions, see Permissions and Supported Actions.

URI

POST /v3/{project_id}/jobs/batch-precheck-result

Table 1 Path parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID of a tenant in a region

For details about how to obtain the project ID, see Obtaining a Project ID.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

Content-Type

Yes

String

The content type.

The default value is application/json.

X-Auth-Token

Yes

String

User token obtained from IAM.

X-Language

No

String

Request language type

Default value: en-us

Values:

  • en-us
  • zh-cn
Table 3 Request body parameters

Parameter

Mandatory

Type

Description

jobs

Yes

Array of strings

Request for querying pre-check results in batches. The value cannot be empty. The values must comply with the UUID rule. The task ID must be unique.

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

results

Array of objects

Response body set for querying pre-check results in batches.

For details, see Table 5.

count

Integer

Total number of records.

Table 5 Data structure description of field results

Parameter

Type

Description

precheck_id

String

ID of the task for querying the pre-check result.

result

Boolean

Whether the pre-check items are passed. true: indicates that the pre-check is passed. The task can be started only after the pre-check is passed.

process

String

Pre-check progress, in percentage.

total_passed_rate

String

Percentage of passed pre-checks.

rds_instance_id

String

RDS DB instance ID.

job_direction

String

Task direction. Values:

  • up: to-the-cloud scenarios and the current cloud is the standby cloud in the DR.
  • down: out-of-cloud scenarios and the current cloud is the active cloud in the DR.
  • non-dbs: self-built databases.

precheck_result

Array of object

Pre-check results.

For details, see Table 6.

error_msg

String

Error message.

error_code

String

Error code.

Table 6 Data structure description of field precheck_result

Parameter

Type

Description

item

String

Check item.

result

String

Check results. Values:

  • PASSED
  • ALARM
  • FAILED

failed_reason

String

Failure cause.

data

String

Encrypted data.

raw_error_msg

String

Row error message.

group

String

Check item group.

failed_sub_jobs

Array of objects

Information about failed subtasks.

For details, see Table 7.

Table 7 Data structure description of field failed_sub_jobs

Parameter

Type

Description

id

String

ID of the subtask that fails to pass the pre-check.

name

String

The name of the subtask that fails to pass the pre-check.

check_result

String

Check results.

Example Request

  • Querying pre-check results for a DDS real-time migration task
    https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-precheck-result
    
    {
      "jobs" : [ "a281f62f-4631-45d6-a2d3-679a9f4jb105" ]
    }
  • Querying pre-check results for a MySQL real-time migration task
    https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-precheck-result
    
    {
      "jobs" : [ "140b5236-88ad-43c8-811c-1268453jb101" ]
    }

Example Response

Status code: 200

OK

  • Example response for querying the pre-check result during real-time MySQL migration:
    {
      "count" : 1,
      "results" : [ {
        "result" : true,
        "process" : "100%",
        "precheck_id" : "140b5236-88ad-43c8-811c-1268453jb101",
        "total_passed_rate" : "100%",
        "rds_instance_id" : "e05a3679efe241d8b5dee80b17c1a863in01",
        "job_direction" : "up",
        "precheck_result" : [ {
          "item" : "dstDbDiskSize",
          "result" : "PASSED",
          "data" : "{\"diskSizeTimes\":\"1.5\",\"dstVolumeSize\":\"37660000000\",\"srcIndexSize\":0,\"size\":\"0\",\"srcIndexAmount\":0}",
          "group" : "db_disk_size"
        }, {
          "item" : "checkIncreSrcDbExistedInDstDb",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "dbCharacterSetConsistency",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "dbClockConsistency",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "dbCollationServerConsistency",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "dbIsolationLevelConsistency",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "dbParamConsistency",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "dbServerUuidConsistency",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "dstMaxAllowedPacketCheck",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "hasForeignKeyOnUnselectedTable",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "innodbStrictModeConsistency",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "isUserRequireSslLink",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "sqlModeConsistency",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "sqlModeNoEngine",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "srcBinlogFormatCheck",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "srcBinlogRowImageCheck",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "srcDbBinlogExpireLogsDays",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "srcDbBinlogIsOff",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "srcDbExistUnsupportEngineTable",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "srcDbIndexKeyLength",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "srcDbNameContainsUnsupportedSymbols",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "srcDbServerIdCheck",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "srcDstTableNameCaseSensitiveCheck",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "srcHasNoPkTableWhenTgtHasInvisiblePk",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "srcRoutinesWithoutPrivilegeCheck",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "srcTableNameContainsNonAscii",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "srcTriggerAndEventCheck",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "srcViewNameContainsNonAscii",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "srclogSlaveUpdatesCheck",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "userRequirementIsEnoughForDefiner",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "userSelectObjectsCheck",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "dstStatusCheck",
          "result" : "PASSED",
          "data" : "",
          "group" : "db_target_status",
          "failed_reason" : ""
        }, {
          "item" : "dstDbPrivilegesIsEnough",
          "result" : "PASSED",
          "group" : "db_user_privilege"
        }, {
          "item" : "srcDbPrivilegesIsEnoughForIncre",
          "result" : "PASSED",
          "group" : "db_user_privilege"
        }, {
          "item" : "dbVersionMeetRequirement",
          "result" : "PASSED",
          "group" : "db_version"
        }, {
          "item" : "dstDbVersionSupport",
          "result" : "PASSED",
          "group" : "db_version"
        }, {
          "item" : "srcDbVersionSupport",
          "result" : "PASSED",
          "group" : "db_version"
        }, {
          "item" : "dstDbConnection",
          "result" : "PASSED",
          "group" : "network"
        }, {
          "item" : "srcDbConnection",
          "result" : "PASSED",
          "group" : "network"
        } ]
      } ]
    }
  • Example response for querying the pre-check result during real-time DDS migration:
    {
      "count" : 1,
      "results" : [ {
        "result" : true,
        "process" : "100%",
        "precheck_id" : "a281f62f-4631-45d6-a2d3-679a9f4jb105",
        "total_passed_rate" : "100%",
        "rds_instance_id" : "3cadd5a0ef724f55ac7fa5bcb5f4fc5fin02",
        "job_direction" : "up",
        "precheck_result" : [ {
          "item" : "dstDbDiskSize",
          "result" : "PASSED",
          "data" : "{'size': '5263360', 'dstVolumeSize':'19089431762', 'diskSizeTimes':'1.5'}",
          "group" : "db_disk_size"
        }, {
          "item" : "srcAndDstCappedCollConsistency",
          "result" : "PASSED",
          "group" : "db_object_conflict_check"
        }, {
          "item" : "srcCollAlreadyExistedInDstColl",
          "result" : "PASSED",
          "group" : "db_object_conflict_check"
        }, {
          "item" : "srcViewAlreadyExistedInDstView",
          "result" : "PASSED",
          "group" : "db_object_conflict_check"
        }, {
          "item" : "rolesDependentCheck",
          "result" : "PASSED",
          "group" : "db_object_dependency_check"
        }, {
          "item" : "usersDependentCheck",
          "result" : "PASSED",
          "group" : "db_object_dependency_check"
        }, {
          "item" : "srcCollHasTtlIndex",
          "result" : "ALARM",
          "data" : "{\"srcHasTtlIndexColls\":\"fastunit.ttlsuoyin\"}",
          "group" : "db_params",
          "failed_reason" : "SRC_HAS_TTL_INDEXES"
        }, {
          "item" : "dbSslConsistency",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "dstChunkNumCheck",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "mongoTypeFitTransferMode",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "srcCollIndexNumCheck",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "srcCollNameContainsUnsupportedSymbols",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "srcDbInstanceIsEmpty",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "srcDbNameContainsUnsupportedSymbols",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "srcIdIndexCheck",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "userSelectObjectsCheck",
          "result" : "PASSED",
          "group" : "db_params"
        }, {
          "item" : "dstStatusCheck",
          "result" : "PASSED",
          "data" : "",
          "group" : "db_target_status",
          "failed_reason" : ""
        }, {
          "item" : "dstDbPrivilegesIsEnough",
          "result" : "PASSED",
          "group" : "db_user_privilege"
        }, {
          "item" : "srcDbPrivilegesIsEnough",
          "result" : "PASSED",
          "group" : "db_user_privilege"
        }, {
          "item" : "dbVersionMeetRequirement",
          "result" : "PASSED",
          "group" : "db_version"
        }, {
          "item" : "dstDbVersionSupport",
          "result" : "PASSED",
          "group" : "db_version"
        }, {
          "item" : "srcDbVersionSupport",
          "result" : "PASSED",
          "group" : "db_version"
        }, {
          "item" : "dstDbConnection",
          "result" : "PASSED",
          "group" : "network"
        }, {
          "item" : "srcDbConnection",
          "result" : "PASSED",
          "group" : "network"
        }, {
          "item" : "srcShardKeyConfiguration",
          "result" : "ALARM",
          "data" : "{\"notConfigShardIndexColls\":\"ycsb.usertable,mgo.mycollection7,mgo.mycollection9,mgo.mycollection5,mgo.mycollection4,mgo.mycollection3,mgo.mycollection,mgo.mycollection8,mgo.mycollection2,mgo.mycollection6,testdb3.testuk,testdb3.coll2,testdb3.coll6,testdb3.coll1,testdb3.Coll1,testdb3.testuk2,testdb3.coll5,testdb3.coll4,testdb1.coll6,testdb1.coll1,testdb1.testuk2,testdb1.coll2,testdb1.testuk,testdb1.coll5,testdb1.coll4,testdb1.Coll1,Testdb5.coll1,Testdb5.collx,Testdb5.Coll1,fastunit.gudingjihe,fastunit.geohaystack,fastunit.coll,fastunit.weiyisuoyin,fastunit.testSpecial\\\\u4E2D\\\\u6587~!@#%^&*()_+=-[]{};:?,`,fastunit.log,fastunit.twoD,fastunit.lianhesuoyin,fastunit.xishusuoyin,fastunit.quanwensuoyin,fastunit.ttlsuoyin,fastunit.putongsuoyin,fastunit.collcount,fastunit.shuzusuoyin,fastunit.twodsphere,fastunit.qiantaowendangsuoyin,fastunit.indexpartial\"}",
          "group" : "src_info_check",
          "failed_reason" : "SRC_INSTANCE_TYPE_IS_REPLICA_SET"
        }, {
          "item" : "checkBalanceStatus",
          "result" : "PASSED",
          "group" : "src_info_check"
        }, {
          "item" : "srcMongoInstanceType",
          "result" : "PASSED",
          "group" : "src_info_check"
        } ]
      } ]
    }

Status Code

Status Code

Description

200

OK

400

Bad Request

Error Code

For details, see Error Code.