
# 查询数据库对象信息 - ShowDbObjectsList
#### 功能介绍
查询数据库对象信息。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-drs/drs_api_0035.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
GET /v5.1/{project_id}/jobs/{job_id}/db-object
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                 |
|:---|:---|:---|:---|
| project_id | 是    | String | 租户在某一Region下的Project ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-drs/drs_api_0106.html)。 |
| job_id     | 是    | String | 任务ID。                                                                                                                                              |
   
表2Query参数 
| 参数   | 是否必选 | 参数类型   | 描述                                                                                          |
|:---|:---|:---|:---|
| type | 是    | String | 查询对象信息类型。 取值： modified：查询已选择的（已同步的和未下发的）对象信息。 |
   
#### 请求参数
表3请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| Content-Type | 是    | String | 发送的实体的MIME类型。推荐用户默认使用application/json，如果API是对象、镜像上传等接口，媒体类型可按照流类型的不同进行确定。 缺省值：**application/json**                                                                                                                                                                                                                                                                               |
| X-Auth-Token | 是    | String | 从IAM服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值，该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的"X-Subject-Token"的值即为Token值。                                                                                                                                                                                                                            |
| X-Language   | 否    | String | 请求语言类型。 缺省值：**en-us** 枚举值： - **en-us**  - **zh-cn**   |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数             | 参数类型                                                                                   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| target_root_db | Object                                                                                 | 数据库对象迁移或同步目标库信息，两层到三层数据库同步需要填写。 详情请参见[表5]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| object_info    | Map\<String,[DatabaseObject]\> | 数据库对象迁移或同步信息。 详情请参见[表6]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| max_table_num  | Integer                                                                                | 库下表数量的阈值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| status         | String                                                                                 | 获取提交查询对象选择信息的状态。仅在调用[获取数据库对象信息的结果 - ShowDbObjectCollectionStatus](https://support.huaweicloud.com/api-drs/drs_03_0183.html)接口时返回该参数。 枚举值： - **success**  - **failed**  - **pending**   |
| id             | String                                                                                 | 任务ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| object_scope   | String                                                                                 | 该数据库在实时同步场景下的类型。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   
 表5target_root_db字段数据结构说明 
| 参数          | 参数类型   | 描述           |
|:---|:---|:---|
| db_name     | String | 库名。          |
| db_encoding | String | 默认编码格式是utf8。 |
   
 表6object_info字段数据结构说明 
| 参数              | 参数类型                                                                               | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|
| sync_type       | String                                                                             | 该数据库在实时同步场景下的类型。取值：config。 仅当该库作为数据过滤高级设置的关联库时，需要填写，此时该库以及该库下的schemas、tables不会被同步到目标库，name、all属性不生效，schemas、tables需要填写被关联的相关对象。 说明： 如果需要同步该库级对象，则在下级对象中填写sync_type值为config。 枚举值： - **config**                                                                                |
| name            | String                                                                             | 该数据库在目标库的名称（库名映射）。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| all             | Boolean                                                                            | 是否整库迁移或同步。 说明： - 当该库下的模式、表、列需要做数据过滤、列过滤、列映射时，填false，否则填true。  - 当该库下的表需要做附加列时，需要填true，并且在表级对象的columns里填写附加列信息。  - 当该库下的表所包含的列作为数据过滤高级设置的关联列时，需要填true，并且在columns里填写关联列信息，在config_conditions填写数据过滤高级设置的配置条件。   |
| schemas         | Map\<String,[SchemaObject]\> | 需要迁移或同步的模式，当整库迁移或同步为false时需要填写。 详情请参见[表7]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| tables          | Map\<String,[TableObject]\>   | 需要迁移或同步的表，当整库迁移或同步为false时需要填写。 详情请参见[表8]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| total_table_num | Integer                                                                            | 库下的表的数量，表的数量超过阈值就不显示。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| is_synchronized | Boolean                                                                            | 是否已同步。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
 表7schemas字段数据结构说明 
| 参数        | 参数类型                                                                             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|
| sync_type | String                                                                           | 该模式在实时同步场景下的类型。取值：config。 仅当该模式作为数据过滤高级设置的关联模式时，需要填写，此时该模式以及该模式下的tables不会被同步到目标库，name、all属性不生效，tables需要填写被关联的相关对象。 说明： 如果需要同步该模式对象，则在下级对象中填写sync_type值为config。                                                                                                                                                                                                                                                                                             |
| name      | String                                                                           | 该模式在目标库的名称（模式名映射）。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| all       | Boolean                                                                          | 是否整模式迁移或同步。 说明： - 当该模式下的表、列需要做数据过滤、列过滤、列映射时，填false，否则填true。  - 当该模式下的表需要做附加列时，需要填true，并且在表级对象的columns里填写附加列信息。  - 当该模式下的表所包含的列作为数据过滤高级设置的关联列时，需要填true，并且在columns里填写关联列信息、config_conditions填写数据过滤高级设置的配置条件。   |
| tables    | Map\<String,[TableObject]\> | 需要迁移或同步的表，当整模式迁移或同步为false时需要填写。 详情请参见[表8]。                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
 表8tables字段数据结构说明 
| 参数                | 参数类型                                                                               | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|
| sync_type         | String                                                                             | 该表在实时同步场景下的类型。取值： config。 仅当该表作为数据过滤高级设置的关联表时，需要填写，此时该表以及该表下的columns不会被同步到目标库，name、all、filtered、filter_conditions属性不生效，columns需要填写被关联的相关对象，config_conditions需要填写数据过滤高级设置的配置条件。 说明： 如果需要同步该表级对象，则在下级对象中填写sync_type值为config。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| type              | String                                                                             | 对象类型。取值： - table：表。  - view：视图。  - procedure：存储过程。   枚举值： - **table**  - **view**  - **procedure**   |
| name              | String                                                                             | 该表在目标库的名称（表名映射）。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| all               | Boolean                                                                            | 是否整表迁移或同步。 说明： - 当该表不需要做列过滤、列映射时，填true，如果需要做列过滤、列映射则填false。  - 当该表需要做附加列时，需要填true，并且在columns里填写附加列信息。  - 当该表所包含的列作为数据过滤高级设置的关联列时，需要填true，并且在columns里填写关联列信息、config_conditions填写数据过滤高级设置的配置条件。                                                                                                                                                                                                                                                                     |
| db_alias_name     | String                                                                             | 一对多情况下，表级上对库名的映射。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| schema_alias_name | String                                                                             | 一对多情况下，表级上对schema名的映射。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| filtered          | Boolean                                                                            | 该表是否进行数据过滤。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| filter_conditions | Array of strings                                                                   | 该表数据的过滤条件，生成加工规则值为SQL条件语句，长度限制512。 最小长度：**0** 最大长度：**512**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| config_conditions | Array of strings                                                                   | 该表数据过滤高级设置的配置条件，当该表作为联表查询时填写，生成加工规则值为SQL条件语句，长度限制512。 最小长度：**0** 最大长度：**512**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| is_synchronized   | Boolean                                                                            | 是否已经进行同步。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| columns           | Map\<String,[ColumnObject]\> | 需要同步/映射/过滤/新增的列，当需要列过滤、列映射、附加列功能时填写，仅在实时同步任务中生效，当整表同步为false时需要填写。 详情请参见[表9]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   
 表9columns字段数据结构说明 
| 参数                               | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|
| sync_type                        | String  | 该列在实时同步场景下的类型。取值：config。 当该列作为数据过滤高级设置的关联列时，需要填写，同时如果该列是主键或优化查询所需的索引，则需要填写primary_key_for_data_filtering或index_for_data_filtering。 说明： 是否同步该列到目标库由"filtered"属性控制，与库级、模式级、表级控制方式不同。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| primary_key_for_data_filtering   | String  | 该列是否在数据过滤高级设置场景下为主键，如果是主键则填该列列名，否则不填。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| index_for_data_filtering         | String  | 优化查询所需的索引，将会为缓存数据增加索引，不会影响源表，当该列作为数据过滤高级设置的关联索引时，需要填写，否则不填。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| name                             | String  | 该列在目标库的名称（列名映射），当该列为"附加列"时须与数据库表级对象中列名保持一致。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| type                             | String  | 该列字段的数据类型。 列过滤：填写源列字段的数据类型。 附加列：新填充的列指定字段的数据类型，根据不同操作类型来决定取值范围与约束，具体对应如下： - 当以默认值的方式附加列，新列的取值支持：int，long，varchar(256)，datetime，timestamp。  - 当以create_time为附加列的列名，新列的取值支持：long，datetime，timestamp。  - 当以update_time为附加列的列名，新列的取值支持：long，datetime，timestamp。  - 当以表达式为附加列，新列的取值支持：varchar(256)，且列值仅为：concat(__current_database, '@', __current_table)  - 当以serverName@database@table为附加列的列名，新列的取值支持：varchar(256)。   |
| primary_key_for_column_filtering | String  | 该列是否在列映射场景下为主键，如果是主键则填PRI，否则填空。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| filtered                         | Boolean | 该列是否进列过滤，不能与附加列additional同时使用。取值： - true：表示同步该列。  - false：表示过滤该列不同步。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| additional                       | Boolean | 该列是否为附加列，当该列为附加列时：name必须与表级对象中列名一致，并且不能与列过滤filtered同时使用。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| operation_type                   | String  | 操作类型，以特定的操作类型填充新加的列。不同操作类型对应的取值如下： - 当以默认值方式新加列，新加列的取值支持：ADDITIONALCOLUMN,default_value  - 当以create_time为新加列名，新加列的取值支持：ADDITIONALCOLUMN,create_time  - 当以update_time为新加列名，新加列的取值支持：ADDITIONALCOLUMN,update_time  - 当以表达式为新加列，新加列的取值支持：ADDITIONALCOLUMN,expression  - 当以serverName@database@table为新加列名，新加列的取值支持：ADDITIONALCOLUMN,server_database_table                                              |
| value                            | String  | 附加列的值。对应约束如下： - 当操作类型仅"以默认值方式"，且列名为"serverName@database@table"时，才支持输入对应字段类型的值。  - 当操作类型为"表达式"时，该字段为固定值"concat(__current_database, '@', __current_table)"，不需要填写。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   
**状态码：400**
表10响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                      |
|:---|:---|:---|
| error_code | String | 错误码。 最小长度：**12** 最大长度：**12**  |
| error_msg  | String | 错误描述。 最小长度：**1** 最大长度：**512** |
   
#### 请求示例
查询已选择的数据库对象信息。
```
https://{endpoint}/v5.1/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r/db-object?type=modified
```
#### 响应示例
**状态码：200**
OK
```
{
  "object_scope" : "table",
  "target_root_db" : {
    "db_name" : "mytest",
    "db_encoding" : "utf8"
  },
  "object_info" : {
    "TEST" : {
      "name" : "TEST",
      "tables" : {
        "TBL_2" : {
          "name" : "TBL_2",
          "type" : "table",
          "all" : true,
          "is_synchronized" : true
        }
      },
      "is_synchronized" : true,
      "total_table_num" : 1
    }
  },
  "max_table_num" : 50000,
  "id" : "c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r"
}
```
**状态码：400**
Bad Request
```
{
  "error_code" : "DRS.10000010",
  "error_msg" : Task not found. Check the task ID."
}
```
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 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)。
