文档首页/ 数据复制服务 DRS/ API参考/ API v3(不再推广)/ 公共接口管理/ 批量数据库对象选择 - BatchSetObjects
更新时间:2026-07-29 GMT+08:00

批量数据库对象选择 - BatchSetObjects

功能介绍

迁移之前,选择需要迁移的数据库或者表。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

接口约束

  • 仅实时迁移、实时同步支持对象选择。
  • 任务创建成功之后,任务状态为CONFIGURATION,并且与源库和目标库测试连接通过、修改任务接口调用成功后才能调用。
  • 为保证接口调用性能,建议批量调用数量不超过10个。

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项

URI

PUT /v3/{project_id}/jobs/batch-select-objects

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

租户在某一Region下的Project ID。

获取方法请参见获取项目ID

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

请求参数

表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 objects

参数解释:

批量更新数据库对象选择的任务信息列表,每个元素包含一个任务的对象选择配置。

详情请参见表4

约束限制

建议批量调用数量不超过10个。

表4 jobs字段数据结构说明

参数

是否必选

参数类型

描述

job_id

String

参数解释:

任务ID,用于唯一标识一个数据复制任务,在查询、修改、删除等操作中作为任务的识别凭证。

约束限制

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

selected

Boolean

参数解释:

是否进行对象选择,决定是自定义选择迁移对象还是迁移全部对象。

约束限制

不涉及。

取值范围:

  • true:自定义迁移对象,需要通过job字段指定具体迁移对象

  • false:全部迁移,迁移源库所有对象

默认取值:

false

sync_database

Boolean

参数解释:

是否库级同步,指定同步任务是否以库为粒度进行对象选择。

约束限制

不涉及。

取值范围:

  • true:库级同步。

  • false:非库级同步。

默认取值:

不涉及。

job

Array of objects

参数解释:

数据对象选择信息,包含需要迁移的数据库、表、视图等对象的详细配置。

详情请参见表5

约束限制

selected为true时必填。

表5 job字段数据结构说明

参数

是否必选

参数类型

描述

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

参数解释:

数据库对象的类型,用于标识迁移或同步对象是数据库、表、模式还是视图。

约束限制

不涉及。

取值范围:

  • database:数据库。
  • table:表。
  • schema:模式。
  • view:视图。

默认取值:

不涉及。

object_name

String

参数解释:

数据库对象名称,可以是库名、表名或视图名。

约束限制

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

select

String

参数解释:

是否选中该数据库对象进行迁移,用于控制对象级别的迁移选择。

约束限制

不涉及。

取值范围:

  • true:选中,该数据库对象会进行迁移。

  • false:不选中,该数据库对象不会迁移。

  • partial:部分选择,迁移库下面的部分表。

默认取值:

false

object_alias_name

String

参数解释:

别名,即映射后的新名称。

约束限制

仅支持同步任务使用。

取值范围:

不涉及。

默认取值:

不涉及。

响应参数

状态码:202

表6 响应Body参数

参数

参数类型

描述

all_counts

Long

参数解释:

批量对象选择操作的任务总数,表示本次请求中处理的对象选择任务总数量。

约束限制

不涉及。

取值范围:

不涉及。

results

Array of objects

参数解释:

批量对象选择操作的响应列表。

详情请参见表7

表7 results字段数据结构说明

参数

参数类型

描述

job_id

String

参数解释:

任务ID,用于唯一标识一个数据复制任务,在查询、修改、删除等操作中作为任务的识别凭证。

约束限制

不涉及。

取值范围:

不涉及。

status

Boolean

参数解释:

选择对象任务是否成功。

约束限制

不涉及。

取值范围:

  • true:选择对象任务成功。
  • false:选择对象任务失败。

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
	}]
}

状态码

状态码

描述

202

Accepted

400

Bad Request

其他状态请参见状态码

错误码

请参见错误码