查询数据库对象信息
功能介绍
查询数据库对象信息。建议使用新接口查询数据库对象信息进行查询。
接口约束
- 目前仅支持Oracle->GaussDB分布式、MySQL->Kafka、GaussDB(for MySQL)->Kafka同步场景。
- 仅支持部分Region使用,详情参考终端节点。
URI
GET /v5/{project_id}/jobs/{job_id}/db-objects
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 |
job_id |
是 |
String |
任务ID。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
offset |
否 |
Integer |
偏移量,表示从此偏移量开始查询, offset大于等于0 |
limit |
否 |
Integer |
每页显示的条目数量 |
type |
是 |
String |
查询对象信息类型。取值:
|
db_names |
否 |
Array |
查询指定库的信息。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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 枚举值:
|
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
object_scope |
String |
该数据库在实时同步场景下的类型。 |
target_root_db |
Object |
数据库对象迁移或同步目标库信息,两层到三层数据库同步需要填写。 详情请参见表5。 |
object_info |
Map<String,DatabaseObject> |
数据库对象迁移或同步信息。 详情请参见表6。 |
max_table_num |
Integer |
库下表数量的阈值。 |
status |
String |
获取提交查询对象选择信息的状态。仅在调用获取数据库对象信息的结果接口时返回该参数。 枚举值:
|
id |
String |
任务ID。 |
参数 |
参数类型 |
描述 |
---|---|---|
sync_type |
String |
该数据库在实时同步场景下的类型。取值:config:仅当该库作为数据过滤高级设置的关联库时,需要填写,此时该库以及该库下的schemas、tables“不会”被同步到目标库,name、all属性不生效,schemas、tables需要填写被关联的相关对象。
说明:
如果需要同步该库级对象,则在下级对象中填写sync_type值为config。 枚举值:
|
name |
String |
该数据库在目标库的名称(库名映射)。 |
all |
Boolean |
是否整库迁移或同步。
说明:
|
schemas |
Map<String,SchemaObject> |
需要迁移或同步的模式,当整库迁移或同步为false时需要填写。 详情请参见表7。 |
tables |
Map<String,TableObject> |
需要迁移或同步的表,当整库迁移或同步为false时需要填写。 详情请参见表8。 |
total_table_num |
Integer |
库下的表的数量,表的数量超过阈值就不显示。 |
is_synchronized |
Boolean |
是否已进行同步。 |
参数 |
参数类型 |
描述 |
---|---|---|
sync_type |
String |
该模式在实时同步场景下的类型。取值: config:仅当该模式作为数据过滤高级设置的关联模式时,需要填写,此时该模式以及该模式下的tables“不会”被同步到目标库,name、all属性不生效,tables需要填写被关联的相关对象。
说明:
如果需要同步该模式对象,则在下级对象中填写sync_type值为config。 |
name |
String |
该模式在目标库的名称(模式名映射)。 |
all |
Boolean |
是否整模式迁移或同步。
说明:
|
tables |
Map<String,TableObject> |
需要迁移或同步的表,当整模式迁移或同步为false时需要填写。 详情请参见表8。 |
参数 |
参数类型 |
描述 |
---|---|---|
sync_type |
String |
该表在实时同步场景下的类型。取值: config:仅当该表作为数据过滤高级设置的关联表时,需要填写,此时该表以及该表下的columns“不会”被同步到目标库,name、all、filtered、filter_conditions属性不生效,columns需要填写被关联的相关对象,config_conditions需要填写数据过滤高级设置的配置条
说明:
如果需要同步该表级对象,则在下级对象中填写sync_type值为config。 |
type |
String |
对象类型。取值:
枚举值:
|
name |
String |
该表在目标库的名称(表名映射)。 |
all |
Boolean |
是否整表迁移或同步。
说明:
|
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。 |
参数 |
参数类型 |
描述 |
---|---|---|
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 |
该列字段的数据类型。 列过滤:填写源列字段的数据类型。 附加列:新填充的列指定字段的数据类型,根据不同操作类型来决定取值范围与约束。取值:
|
primary_key_for_column_filtering |
String |
该列是否在列映射场景下为主键,如果是主建则填PRI,否则填空。 |
filtered |
Boolean |
该列是否进列过滤,不能与附加列additional同时使用。取值:
|
additional |
Boolean |
该列是否为附加列,当该列为附加列时:name必须与表级对象中列名一致,并且不能与列过滤filtered同时使用。 |
operation_type |
String |
操作类型,以特定的操作类型填充新加的列。取值:
|
value |
String |
附加列的值。约束:
|
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 最小长度:12 最大长度:12 |
error_msg |
String |
错误描述。 最小长度:1 最大长度:512 |
请求示例
查询已同步的对象信息。
https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r/db-objects?type=synchronized
响应示例
状态码: 200
OK
{ "target_root_db" : { "db_name" : "db1", "db_encoding" : "UTF-8" }, "object_scope" : "table", "object_info" : { "db1" : { "name" : "db1", "all" : false, "schemas" : { "schema1" : { "name" : "schema1", "all" : false, "tables" : { "table1" : { "name" : "table1", "type" : "table", "all" : true, "is_synchronized" : false } } } }, "total_table_num" : 1 } }, "max_table_num" : 500 }
状态码: 400
Bad Request
{ "error_code" : "DRS.10000010", "error_msg" : "Job does not exist, please check job ID." }
状态码
状态码 |
描述 |
---|---|
200 |
OK |
400 |
Bad Request |
错误码
请参见错误码。