
# 批量查询预检查结果 - BatchCheckResults
#### 功能介绍
批量查询任务的预检查结果。
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=DRS&api=BatchCheckResults)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 接口约束
- 预检查接口调用成功后才能调用。
 
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-drs/drs_api_0035.html)。
#### URI
POST /v3/{project_id}/jobs/batch-precheck-result
表1路径参数 
| **参数**     | **是否必选** | **参数类型** | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| project_id | 是        | String   | **参数解释：** 租户在某一Region下的Project ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-drs/drs_api_0106.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| Content-Type | 是    | String | **参数解释**： 发送的实体的MIME类型。推荐用户默认使用application/json，如果API是对象、镜像上传等接口，媒体类型可按照流类型的不同进行确定。 **约束限制：** 不涉及。 **取值范围：** application/json **默认取值：** application/json                                                                                                                                                                                                                                                                |
| X-Auth-Token | 是    | String | **参数解释**： 从IAM服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值，该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的"X-Subject-Token"的值即为Token值。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                  |
| X-Language   | 否    | String | **参数解释**： 请求语言类型。 **约束限制：** 不涉及。 **取值范围：** - **en-us**：英语  - **zh-cn**：中文   **默认取** **值：** **en-us** |
   
表3请求Body参数 
| **参数** | **是否必选** | **参数类型**         | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| jobs   | 是        | Array of strings | **参数解释**： 批量查询任务ID列表，通过该参数指定需要查询预检查结果的一个或多个任务。 **约束限制**： - 不能包含空对象。   - 集合中的元素取值严格匹配UUID规则。   - 任务id不能重复。    **取值范围**： 不涉及。 **默认取值**： 不涉及。 |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| **参数**  | **参数类型**         | **描述**                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|
| results | Array of objects | **参数解释**： 批量查询预检查结果响应体集合，包含每个任务的预检查结果详情。 详情请参见[表5]。                                                                                                                                                                               |
| count   | Integer          | **参数解释**： 返回的任务信息总数，表示本次查询成功返回的任务数量，与results数组的长度一致。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 |
   
 表5results字段数据结构说明 
| **参数**            | **参数类型**        | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|
| precheck_id       | String          | **参数解释**： 查询预检查结果的任务ID。 **约束限制**： 不涉及。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| result            | Boolean         | **参数解释**： 返回的预检查结果是否通过，标识任务预检查的整体通过情况。 **约束限制**： 不涉及。 **取值范围**： - **true**：预检查通过，通过后才可进行启动任务。   - **false**：预检查未通过，需查看precheck_result中的具体失败项。    |
| process           | String          | **参数解释**： 预检查进度百分比，表示预检查任务的执行进度。 **约束限制**： 不涉及。 **取值范围**： 0%-100%。                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| total_passed_rate | String          | **参数解释**： 预检查通过百分比，表示预检查项中通过的占比。 **约束限制**： 不涉及。 **取值范围**： 0%-100%。                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| rds_instance_id   | String          | **参数解释**： RDS实例ID，用于标识关联的华为云RDS数据库实例。 **约束限制**： 不涉及。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| job_direction     | String          | **参数解释**： 任务的迁移方向。 **约束限制**： 不涉及。 **取值范围**： - **up**：入云，灾备场景时对应本云为备。  - **down**：出云，灾备场景时对应本云为主。  - **non-dbs**：自建。                                                                      |
| precheck_result   | Array of object | **参数解释**： 预检查各项结果。 详情请参见[表6]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| error_msg         | String          | **参数解释**： 错误详细信息，当任务执行失败时返回的具体错误描述。 **约束限制**： 不涉及。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| error_code        | String          | **参数解释**： 错误码，当任务报错时返回的错误代码。 **约束限制**： 不涉及。 **取值范围**： 格式为DRS.XXXXXX。                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   
 表6precheck_result字段数据结构说明 
| 参数              | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|
| item            | String           | **参数解释**： 预检查的具体检查项名称，用于标识预检查中执行的具体检查项目。 **约束限制**： 不涉及。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                  |
| result          | String           | **参数解释**： 预检查项的检查结果，表示该检查项是否通过。 **约束限制**： 不涉及。 **取值范围**： - **PASSED**：通过。  - **ALARM**：告警。  - **FAILED**：失败。   |
| failed_reason   | String           | **参数解释**： 预检查项的失败原因，当检查结果为FAILED或ALARM时返回的具体失败描述。 **约束限制**： 不涉及。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                       |
| data            | String           | **参数解释**： 预检查项的加密的数据，包含检查项的详细检测数据，以JSON格式加密返回。 **约束限制**： 不涉及。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                           |
| raw_error_msg   | String           | **参数解释**： 原始错误信息，预检查过程中产生的原始错误描述。 **约束限制**： 不涉及。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                       |
| group           | String           | **参数解释**： 检查项分组，用于将预检查项按类别归类展示。 **约束限制**： 不涉及。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                          |
| failed_sub_jobs | Array of objects | **参数解释**： 失败的子任务信息集合，包含预检查中失败的子任务详情。 详情请参见[表7]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
 表7failed_sub_jobs字段数据结构说明 
| 参数           | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|
| id           | String | **参数解释**： 预检查失败的子任务ID，用于唯一标识一个预检查失败的子任务。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 |
| name         | String | **参数解释**： 预检查失败子任务的名称，用于标识失败的子任务。 **约束限制**： 不涉及。 **取值范围**： 不涉及。           |
| check_result | String | **参数解释**： 预检查失败子任务的检查结果，表示该子任务的检查是否通过。 **约束限制**： 不涉及。 **取值范围**： 不涉及。    |
   
#### 请求示例
- 查询DDS实时迁移预检查结果
  ```
  https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-precheck-result
  {
    "jobs" : [ "a281f62f-4631-45d6-a2d3-679a9f4jb105" ]
  }
  ```
  
- 查询MySQL实时迁移预检查结果
  ```
  https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-precheck-result
  {
    "jobs" : [ "140b5236-88ad-43c8-811c-1268453jb101" ]
  }
  ```
  
 
#### 响应示例
**状态码：200**
OK
- 实时迁移MySQL查询预检查结果响应示例 ：
  ```
  {
    "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"
      } ]
    } ]
  }
  ```
  
- 实时迁移DDS查询预检查结果响应示例 ：
  ```
  {
    "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"
      } ]
    } ]
  }
  ```
  
 
#### 状态码
| **状态码** | **描述**      |
|:---|:---|
| 200     | OK          |
| 400     | Bad Request |
   
其他状态请参见[状态码](https://support.huaweicloud.com/api-drs/drs_api_0108.html)。
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-drs/drs_05_0004.html)。
