批量数据库对象选择 - BatchSetObjects
功能介绍
迁移之前,选择需要迁移的数据库或者表。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
接口约束
- 仅实时迁移、实时同步支持对象选择。
- 任务创建成功之后,任务状态为CONFIGURATION,并且与源库和目标库测试连接通过、修改任务接口调用成功后才能调用。
- 为保证接口调用性能,建议批量调用数量不超过10个。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。
URI
PUT /v3/{project_id}/jobs/batch-select-objects
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 参数解释: 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| 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 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| jobs | 是 | Array of objects | 参数解释: 批量更新数据库对象选择的任务信息列表,每个元素包含一个任务的对象选择配置。 详情请参见表4。 约束限制: 建议批量调用数量不超过10个。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| job_id | 是 | String | 参数解释: 任务ID,用于唯一标识一个数据复制任务,在查询、修改、删除等操作中作为任务的识别凭证。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| selected | 否 | Boolean | 参数解释: 是否进行对象选择,决定是自定义选择迁移对象还是迁移全部对象。 约束限制: 不涉及。 取值范围: 默认取值: false |
| sync_database | 否 | Boolean | 参数解释: 是否库级同步,指定同步任务是否以库为粒度进行对象选择。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| job | 否 | Array of objects | 参数解释: 数据对象选择信息,包含需要迁移的数据库、表、视图等对象的详细配置。 详情请参见表5。 约束限制: selected为true时必填。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| id | 否 | String | 参数解释: 数据库对象的标识,具体含义取决于object_type的取值。object_type为database时,为库名;object_type为table或者view时,字段值参考示例。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| parent_id | 否 | String | 参数解释: 数据库对象的父级标识,object_type为table或view时需要填写,为库名。 约束限制: object_type为table或view时必填。 取值范围: 不涉及。 默认取值: 不涉及。 |
| object_type | 否 | String | 参数解释: 数据库对象的类型,用于标识迁移或同步对象是数据库、表、模式还是视图。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
| object_name | 否 | String | 参数解释: 数据库对象名称,可以是库名、表名或视图名。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| select | 否 | String | 参数解释: 是否选中该数据库对象进行迁移,用于控制对象级别的迁移选择。 约束限制: 不涉及。 取值范围: 默认取值: false |
| object_alias_name | 否 | String | 参数解释: 别名,即映射后的新名称。 约束限制: 仅支持同步任务使用。 取值范围: 不涉及。 默认取值: 不涉及。 |
响应参数
状态码:202
| 参数 | 参数类型 | 描述 |
|---|---|---|
| all_counts | Long | 参数解释: 批量对象选择操作的任务总数,表示本次请求中处理的对象选择任务总数量。 约束限制: 不涉及。 取值范围: 不涉及。 |
| results | Array of objects | 参数解释: 批量对象选择操作的响应列表。 详情请参见表7。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| job_id | String | 参数解释: 任务ID,用于唯一标识一个数据复制任务,在查询、修改、删除等操作中作为任务的识别凭证。 约束限制: 不涉及。 取值范围: 不涉及。 |
| status | Boolean | 参数解释: 选择对象任务是否成功。 约束限制: 不涉及。 取值范围:
|
| error_code | String | 参数解释: 错误码,当任务报错时返回的错误代码。 约束限制: 不涉及。 取值范围: 不涉及。 |
| error_msg | String | 参数解释: 错误详细信息,当任务执行失败时返回的具体错误描述。 约束限制: 不涉及。 取值范围: 不涉及。 |
请求示例
- 指定部分库、表对象进行迁移
https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-select-objects { "jobs" : [ { "job" : [ { "id" : "fastunit", "parent_id" : null, "object_name" : "fastunit", "object_type" : "database", "select" : "partial", "object_alias_name" : null }, { "id" : "fastunit-*-*-coll", "parent_id" : "fastunit", "object_name" : "coll", "object_type" : "table", "select" : "true", "object_alias_name" : null }, { "id" : "ycy1", "parent_id" : null, "object_name" : "ycy1", "object_type" : "database", "select" : "partial", "object_alias_name" : null }, { "id" : "ycy1-*-*-coll", "parent_id" : "ycy1", "object_name" : "coll", "object_type" : "table", "select" : "true", "object_alias_name" : null }, { "id" : "ycy1-*-*-collcount", "parent_id" : "ycy1", "object_name" : "collcount", "object_type" : "table", "select" : "true", "object_alias_name" : null } ], "job_id" : "57fd2692-0ebe-4714-9b59-fe7aa65djb15", "selected" : true } ] } - 选择全部对象进行迁移
https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-select-objects { "jobs" : [ { "job" : [ ], "job_id" : "e59f5eef-2bcc-4461-b9ac-10aded44jb15", "selected" : false } ] }
响应示例
状态码:202
Accepted
{
"all_counts": 1,
"results": [{
"job_id": "4d700f6f-9a17-47e0-a7d6-1bc2155jb101",
"status": true
}]
} 错误码
请参见错误码。