华为云用户手册

  • 请求参数 表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参数 参数 参数类型 描述 total_count Integer 列表中的项目总数,与分页无关。 jobs Array of objects 所有批量异步创建任务响应体。 详情请参见表5。 表5 jobs字段数据结构说明 参数 参数类型 描述 async_job_id String 批量异步创建的任务ID。 status String 批量异步创建的任务状态。取值: ASYNC_JOB_VALIDATING:批量异步任务参数校验中。 ASYNC_JOB_VALIDATE_FAILED:批量异步任务参数校验失败。 AUTO_PA RAM _VALIDATE_SUC CES S:批量异步任务参数校验成功 COMMIT_SUCCESS:批量异步任务提交成功。 枚举值: ASYNC_JOB_VALIDATING ASYNC_JOB_VALIDATE_FAILED AUTO_PARAM_VALIDATE_SUCCESS COMMIT_SUCCESS domain_name String 批量异步创建的任务的租户名。 user_name String 批量异步创建的任务的用户名。 create_time String 批量异步创建的任务的创建时间。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
  • 响应示例 状态码: 200 OK { "jobs" : [ { "async_job_id" : "bd4193aa-072d-4ce6-beec-adffc7252341", "status" : "AUTO_PARAM_VALIDATE_SUCCESS", "domain_name" : "domain_name1", "user_name" : "user_name1", "create_time" : "2022-11-07T06:41:08Z" }, { "async_job_id" : "7b65d750-51e5-4647-a088-663d28152a3d", "status" : "COMMIT_SUCCESS", "domain_name" : "domain_name2", "user_name" : "user_name2", "create_time" : "2022-11-05T16:03:45Z" } ], "total_count" : 2 } 状态码: 400 Bad Request { "error_code" : "DRS.10000001", "error_msg" : "Failed." }
  • 请求参数 表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
  • URI GET /v5/{project_id}/batch-async-jobs 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 async_job_id 否 String 批量异步创建的任务ID。 status 否 String 批量异步创建的任务状态。 domain_name 否 String 批量异步创建的任务的租户名。 user_name 否 String 批量异步创建的任务的用户名。 offset 否 Integer 偏移量,表示查询该偏移量后面的记录。 limit 否 Integer 查询返回记录的数量限制。 sort_key 否 String 返回结果按该关键字排序,默认为“create_time”。 sort_dir 否 String 降序或升序(分别对应desc和asc,默认为“desc”)。
  • 请求参数 表2 请求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 表3 响应Body参数 参数 参数类型 描述 job Object 提交指定ID批量异步任务响应体。 详情请参见表4。 表4 job字段数据结构说明 参数 参数类型 描述 async_job_id String 批量异步任务ID。 status String 批量异步任务状态。 msg String 提交指定ID批量异步任务结果信息。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
  • 响应参数 状态码: 202 表36 响应Body参数 参数 参数类型 描述 job Object 批量创建异步任务响应体。 详情请参见表37。 表37 job字段数据结构说明 参数 参数类型 描述 async_job_id String 批量异步创建的任务ID。 状态码: 400 表38 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
  • 请求示例 批量异步创建Oracle到 GaussDB 分布式版按需实时同步任务,任务模式为全量+增量,公网网络类型。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-async-create { "jobs" : [ { "base_info" : { "name" : "DRS-1234", "job_type" : "sync", "engine_type" : "oracle-to-gaussdbv5", "job_direction" : "up", "task_type" : "FULL_INCR_TRANS", "net_type" : "eip", "charging_mode" : "on_demand", "enterprise_project_id" : "0", "description" : "", "expired_days" : "14", "tags" : [ { "key" : "test", "value" : "test" } ] }, "source_endpoint" : [ { "db_type" : "oracle", "endpoint_type" : "offline", "endpoint_role" : "so", "endpoint" : { "endpoint_name" : "oracle", "ip" : "10.154.217.239", "db_port" : "1521", "db_user" : "ORACLE_USER", "db_name" : "serviceName.orcl", "db_password" : "******" }, "ssl" : { "ssl_link" : false } } ], "target_endpoint" : [ { "db_type" : "gaussdbv5", "endpoint_type" : "cloud", "endpoint_role" : "ta", "endpoint" : { "endpoint_name" : "cloud_gaussdbv5", "instance_id" : "c2c7579bc09c490b9d8009db715aeb0ain14", "db_user" : "root", "db_password" : "******" }, "cloud" : { "region" : "cn-north-4", "project_id" : "9dc8c0f3f74c4dbb23c29cf0318ee561", "az_code" : "cn-north-4a,cn-north-4g,cn-north-4c" }, "vpc" : { "vpc_id" : "2cb5d364-ae63-4fbb-85b7-7d59f4a88f8f", "subnet_id" : "2cb54324-ae63-4fbb-85b7-7d59f4a88f8f", "security_group_id" : "039a3s89-665a-43e2-9b4f-bda7d9ee148d" } } ], "alarm_notify" : { "alarm_to_user" : true, "topic_urn" : "urn:smn:cn-north-4:f2c2468c3ee7410c862a461ca073d2f2:test", "delay_time" : 60 }, "speed_limit" : [ { "begin" : "16:00", "end" : "15:59", "speed" : "10" } ], "policy_config" : { "ddl_trans" : false }, "db_object" : { "object_scope" : "table", "target_root_db" : { "db_name" : "target_db_name", "db_encoding" : "utf8" }, "object_info" : { "source_db1" : { "name" : "source_db1", "all" : false, "tables" : { "source_tb1" : { "type" : "table", "name" : "source_tb1", "all" : true }, "source_tb2" : { "type" : "table", "name" : "source_tb2", "all" : true } } } } }, "node_info" : { "spec" : { "node_type" : "medium" } } } ] }
  • 请求参数 表2 请求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 表3 请求Body参数 参数 是否必选 参数类型 描述 jobs 是 Array of strings 批量删除任务请求体。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 jobs Array of objects 批量删除任务响应体。 详情请参见表5。 表5 jobs字段数据结构说明 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512 id String 任务ID。 name String 任务名称。 status String 删除结果。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
  • 响应示例 状态码: 200 OK { "jobs" : [ { "id" : "c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r", "name" : "DRS-1234", "status" : "Success" }, { "id" : "dc6016cf-f3b6-4c2d-b4d7-5084b0fjb20r", "name" : "DRS-2345", "status" : "Failed", "error_code" : "DRS.10000010", "error_msg" : "Job does not exist, please check job ID" } ] } 状态码: 400 Bad Request { "error_code" : "DRS.10000010", "error_msg" : "Job does not exist, please check job ID." }
  • 请求参数 表2 请求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 表35 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512 id String 任务ID。 name String 任务名称。 status String 操作结果。 状态码: 400 表36 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
  • 请求示例 更新租户指定ID任务对象信息 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r { "job" : { "type" : "db_object", "params" : { "db_object" : { "object_scope" : "table", "target_root_db" : { "db_name" : "mytest", "db_encoding" : "utf8" }, "object_info" : { "TEST1" : { "name" : "TEST1", "tables" : { "TBL_1" : { "name" : "TBL_1", "type" : "table", "all" : true, "is_synchronized" : false }, "TBL_2" : { "name" : "TBL_2", "type" : "table", "all" : true, "is_synchronized" : false } } }, "TEST2" : { "name" : "TEST2", "all" : true, "tables" : { "WT_1" : { "name" : "WT_1", "type" : "table", "all" : true, "is_synchronized" : false }, "WT_2" : { "name" : "WT_2", "type" : "table", "all" : true, "is_synchronized" : false } } } } } } } } 更新租户指定ID任务名称为DRS-1234。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r { "job" : { "type" : "name", "params" : { "base_info" : { "name" : "DRS-1234" } } } } 更新任务源库、目标库的信息。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r { "job" : { "type" : "endpoint", "params" : { "source_endpoint" : [ { "db_type" : "oracle", "endpoint_type" : "offline", "endpoint_role" : "so", "endpoint" : { "id" : "f59e6118-da89-4fdb-9b98-65f56709928a", "endpoint_name" : "oracle", "ip" : "10.154.217.239", "db_port" : "1521", "db_user" : "ORACLE_USER", "db_name" : "serviceName.orcl", "db_password" : "******" }, "ssl" : { "ssl_link" : false } } ], "target_endpoint" : [ { "db_type" : "gaussdbv5", "endpoint_type" : "cloud", "endpoint_role" : "ta", "endpoint" : { "id" : "10deb576-8885-473b-a213-4d76e668dc0d", "endpoint_name" : "cloud_gaussdbv5", "instance_id" : "c2c7579bc09c490b9d8009db715aeb0ain14", "db_user" : "root", "db_password" : "******" }, "cloud" : { "region" : "cn-north-4", "project_id" : "9dc8c0f3f74c4dbb23c29cf0318ee561", "az_code" : "cn-north-4a,cn-north-4g,cn-north-4c" }, "vpc" : { "vpc_id" : "2cb5d364-ae63-4fbb-85b7-7d59f4a88f8f", "subnet_id" : "2cb54324-ae63-4fbb-85b7-7d59f4a88f8f", "security_group_id" : "039a3s89-665a-43e2-9b4f-bda7d9ee148d" } } ] } } }
  • 响应示例 状态码: 200 OK { "jobs" : [ { "id" : "c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r", "name" : "DRS-1234", "status" : "CONFIGURATION", "create_time" : "2022-11-07T16:15:18Z", "engine_type" : "oracle-to-gaussdbv5", "job_direction" : "up", "task_type" : "FULL_INCR_TRANS", "job_action" : { "available_actions" : [ "FREE_RESOURCE", "PRE_CHECK", "MODIFY_CONFIGURATION", "CHANGE" ], "unavailable_actions" : [ "CREATE", "START", "CHOOSE_OBJECT", "RETRY", "RESET", "DELETE", "QUERY_PRE_CHECK", "CHANGE_MODE", "MODIFY_DB_CONFIG", "SWITCH_OVER", "RESET_DB_PWD", "PAUSE", "JUMP_RETRY", "START_INCR", "MODIFY_TASK_NUMBER", "CONTINUE_JOB", "STOP_JOB", "CONTINUE_CAPTURE", "STOP_CAPTURE", "CONTINUE_APPLY", "API_CONFIGURATION_ACTION", "STOP_APPLY", "PAY_ORDER", "UNSUBSCRIBE", "TO_PERIOD", "TO_RENEW", "ORDER_INFO", "CLONE" ], "current_action" : null } } ], "total_count" : 1 } 状态码: 400 Bad Request { "error_code" : "DRS.10000001", "error_msg" : "Failed." }
  • 请求示例 查询实时灾备任务列表。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs?job_type=cloudDataGuard&name=&status=&engine_type=&net_type=&enterprise_project_id=&offset=0&limit=10&sort_key=create_time&sort_dir=desc 查询实时迁移任务列表。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs?job_type=migration&name=&status=&engine_type=&net_type=&enterprise_project_id=&offset=0&limit=10&sort_key=create_time&sort_dir=desc 查询实时同步任务列表。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs?job_type=sync&name=&status=&engine_type=&net_type=&enterprise_project_id=&offset=0&limit=10&sort_key=create_time&sort_dir=desc
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total_count Integer 列表中的项目总数,与分页无关。 jobs Array of objects 任务信息列表。 详情请参见表5。 表5 jobs字段数据结构说明 参数 参数类型 描述 id String 任务ID。 name String 任务名称。 status String 任务状态。取值: CREATING:创建中。 CREATE_FAILED:创建失败。 CONFIGURATION:配置中。 STARTJOBING:启动中。 WAITING_FOR_START:等待启动中。 START_JOB_FAILED:任务启动失败。 FULL_TRANSFER_STARTED:全量迁移中 灾备场景为初始化。 FULL_TRANSFER_FAILED:全量迁移失败 灾备场景为初始化失败。 FULL_TRANSFER_COMPLETE:全量迁移完成 灾备场景为初始化完成。 INCRE_TRANSFER_STARTED:增量迁移中 灾备场景为灾备中。 INCRE_TRANSFER_FAILED:增量迁移失败 灾备场景为灾备异常。 RELEASE_RESOURCE_STARTED:结束任务中。 RELEASE_RESOURCE_FAILED:结束任务失败。 RELEASE_RESOURCE_COMPLETE:已结束。 CHANGE_JOB_STARTED:任务变更中。 CHANGE_JOB_FAILED:任务变更失败。 CHILD_TRANSFER_STARTING:子任务启动中。 CHILD_TRANSFER_STARTED:子任务迁移中。 CHILD_TRANSFER_COMPLETE:子任务迁移完成。 CHILD_TRANSFER_FAILED:子任务迁移失败。 RELEASE_CHILD_TRANSFER_STARTED:子任务结束中。 RELEASE_CHILD_TRANSFER_COMPLETE:子任务已结束。 枚举值: CREATING CREATE_FAILED CONFIGURATION STARTJOBING WAITING_FOR_START START_JOB_FAILED FULL_TRANSFER_STARTED FULL_TRANSFER_FAILED FULL_TRANSFER_COMPLETE INCRE_TRANSFER_STARTED INCRE_TRANSFER_FAILED RELEASE_RESOURCE_STARTED RELEASE_RESOURCE_FAILED RELEASE_RESOURCE_COMPLETE CHANGE_JOB_STARTED CHANGE_JOB_FAILED CHILD_TRANSFER_STARTING CHILD_TRANSFER_STARTED CHILD_TRANSFER_COMPLETE CHILD_TRANSFER_FAILED RELEASE_CHILD_TRANSFER_STARTED RELEASE_CHILD_TRANSFER_COMPLETE description String 任务描述。 create_time String 任务创建时间。 engine_type String 引擎类型。取值: oracle-to-gaussdbv5:Oracle同步到GaussDB分布式版,实时同步场景使用。 redis-to-gaussredis:Redis迁移到GeminiDB Redis,实时迁移场景使用。 rediscluster-to-gaussredis:Redis集群迁移到GeminiDB Redis,实时迁移场景使用。 枚举值: oracle-to-gaussdbv5 redis-to-gaussredis rediscluster-to-gaussredis net_type String 网络类型。取值: eip:公网网络。 vpc:VPC网络,灾备场景不支持选择VPC网络。 vpn:VPN、专线网络。 枚举值: eip vpc vpn charging_mode String 计费模式。取值: period:包周期。 on_demand:按需。 枚举值: period on_demand billing_tag Boolean 是否计费。 job_direction String 任务方向。取值: up:入云 ,灾备场景时对应本云为备。 down:出云,灾备场景时对应本云为主。 non-dbs:自建。 枚举值: up down non-dbs job_type String 任务场景。取值: migration:实时迁移。 sync:实时同步。 cloudDataGuard:实时灾备。 枚举值: migration sync cloudDataGuard task_type String 任务模式。取值: FULL_TRANS :全量。 FULL_INCR_TRANS:全量+增量。 INCR_TRANS:增量。 枚举值: FULL_TRANS FULL_INCR_TRANS INCR_TRANS enterprise_project_id String 企业项目ID。 job_mode String 任务模式。取值: single:单任务。 sync_child:同步子任务。 multi_to_single:多对一任务。 枚举值: single sync_child multi_to_single job_mode_role String 任务角色。取值: parent:父任务。 child:子任务。 master:主任务。 slave:备任务。 枚举值: parent child master slave is_multi_az Boolean 是否主备任务。 node_role String 任务节点角色。 node_new_framework Boolean 是否新框架。 job_action Object 任务操作命令集合。 详情请参见表7。 children Array of objects 子任务列表信息体。 详情请参见表6。 表6 children字段数据结构说明 参数 参数类型 描述 id String 任务ID。 name String 任务名称。 status String 任务状态。取值: CREATING:创建中。 CREATE_FAILED:创建失败。 CONFIGURATION:配置中。 STARTJOBING:启动中。 WAITING_FOR_START:等待启动中。 START_JOB_FAILED:任务启动失败。 FULL_TRANSFER_STARTED:全量迁移中 灾备场景为初始化。 FULL_TRANSFER_FAILED:全量迁移失败 灾备场景为初始化失败。 FULL_TRANSFER_COMPLETE:全量迁移完成 灾备场景为初始化完成。 INCRE_TRANSFER_STARTED:增量迁移中 灾备场景为灾备中。 INCRE_TRANSFER_FAILED:增量迁移失败 灾备场景为灾备异常。 RELEASE_RESOURCE_STARTED:结束任务中。 RELEASE_RESOURCE_FAILED:结束任务失败。 RELEASE_RESOURCE_COMPLETE:已结束。 CHANGE_JOB_STARTED:任务变更中。 CHANGE_JOB_FAILED:任务变更失败。 CHILD_TRANSFER_STARTING:子任务启动中。 CHILD_TRANSFER_STARTED:子任务迁移中。 CHILD_TRANSFER_COMPLETE:子任务迁移完成。 CHILD_TRANSFER_FAILED:子任务迁移失败。 RELEASE_CHILD_TRANSFER_STARTED:子任务结束中。 RELEASE_CHILD_TRANSFER_COMPLETE:子任务已结束。 枚举值: CREATING CREATE_FAILED CONFIGURATION STARTJOBING WAITING_FOR_START START_JOB_FAILED FULL_TRANSFER_STARTED FULL_TRANSFER_FAILED FULL_TRANSFER_COMPLETE INCRE_TRANSFER_STARTED INCRE_TRANSFER_FAILED RELEASE_RESOURCE_STARTED RELEASE_RESOURCE_FAILED RELEASE_RESOURCE_COMPLETE CHANGE_JOB_STARTED CHANGE_JOB_FAILED CHILD_TRANSFER_STARTING CHILD_TRANSFER_STARTED CHILD_TRANSFER_COMPLETE CHILD_TRANSFER_FAILED RELEASE_CHILD_TRANSFER_STARTED RELEASE_CHILD_TRANSFER_COMPLETE description String 任务描述。 create_time String 任务创建时间。 engine_type String 引擎类型。取值: oracle-to-gaussdbv5:Oracle同步到GaussDB分布式版,实时同步场景使用。 redis-to-gaussredis:Redis迁移到GeminiDB Redis,实时迁移场景使用。 rediscluster-to-gaussredis:Redis集群迁移到GeminiDB Redis,实时迁移场景使用。 枚举值: oracle-to-gaussdbv5 redis-to-gaussredis rediscluster-to-gaussredis net_type String 网络类型。取值: eip:公网网络。 vpc:VPC网络,灾备场景不支持选择VPC网络。 vpn:VPN、专线网络。 枚举值: eip vpc vpn charging_mode String 计费模式。取值: period:包周期。 on_demand:按需。 枚举值: period on_demand billing_tag Boolean 是否计费。 job_direction String 任务方向。取值: up:入云 ,灾备场景时对应本云为备。 down:出云,灾备场景时对应本云为主。 non-dbs:自建。 枚举值: up down non-dbs job_type String 任务场景。取值: migration:实时迁移。 sync:实时同步。 cloudDataGuard:实时灾备。 枚举值: migration sync cloudDataGuard task_type String 任务模式。取值: FULL_TRANS :全量。 FULL_INCR_TRANS:全量+增量。 INCR_TRANS:增量。 枚举值: FULL_TRANS FULL_INCR_TRANS INCR_TRANS enterprise_project_id String 企业项目ID。 job_mode String 任务模式。取值: single:单任务。 sync_child:同步子任务。 multi_to_single:多对一任务。 枚举值: single sync_child multi_to_single job_mode_role String 任务角色。取值: parent:父任务。 child:子任务。 master:主任务。 slave:备任务。 枚举值: parent child master slave is_multi_az Boolean 是否主备任务。 node_role String 任务节点角色。 node_new_framework Boolean 是否新框架。 job_action Object 任务操作命令集合。 详情请参见表7。 表7 job_action字段数据结构说明 参数 参数类型 描述 available_actions Array of strings 任务可操作命令集合。 unavailable_actions Array of strings 任务不可操作命令集合。 current_action String 任务当前操作命令。取值: API_CONFIGURATION_ACTION:OPEN API配置中的任务能调用。 CHANGE:修改任务。 CHANGE_MODE:修改任务模式。 CHOOSE_OBJECT:选择对象。 CLONE:克隆任务。 CONTINUE_APPLY:启动回放,Oracle同步到GaussDB分布式适用。 CONTINUE_CAPTURE:启动抓取,Oracle同步到GaussDB分布式适用。 CONTINUE_JOB:启动失败或者停止的任务,Oracle同步到GaussDB分布式适用。 CREATE:创建任务。 DELETE:删除任务。 FREE_RESOURCE:释放资源。 JUMP_RETRY:跳跃续传任务。 MODIFY_CONFIGURATION:修改任务配置。 MODIFY_DB_CONFIG:修改数据库配置。 MODIFY_TASK_NUMBER:修改线程数配置。 NODE_FLAVOR_MODIFY:规格变更。 ORDER_INFO:订单详情。 PAUSE:暂停任务。 PAY_ORDER:包年/包月支付订单。 PRE_CHECK:预检查。 QUERY_PRE_CHECK:查询预检查结果。 RESET:重置任务。 RESET_DB_PWD:重置数据库密码(源库、目标库)。 RETRY:重试任务。 START:启动任务。 START_INCR:启动增量任务。 STOP_APPLY:停止回放,Oracle同步到GaussDB分布式适用。 STOP_CAPTURE:停止抓取,Oracle同步到GaussDB分布式适用。 STOP_JOB:停止任务,Oracle同步到GaussDB分布式适用。 SWITCH_OVER:灾备倒换。 TO_PERIOD:转包年/包月任务。 TO_RENEW:包年/包月任务续费。 UNSUBSCRIBE:包年/包月任务退订。 枚举值: API_CONFIGURATION_ACTION CHANGE CHANGE_MODE CHOOSE_OBJECT CLONE CONTINUE_APPLY CONTINUE_CAPTURE CONTINUE_JOB CREATE DELETE FREE_RESOURCE JUMP_RETRY MODIFY_CONFIGURATION MODIFY_DB_CONFIG MODIFY_TASK_NUMBER NODE_FLAVOR_MODIFY ORDER_INFO PAUSE PAY_ORDER PRE_CHECK QUERY_PRE_CHECK RESET RESET_DB_PWD RETRY START START_INCR STOP_APPLY STOP_CAPTURE STOP_JOB SWITCH_OVER TO_PERIOD TO_RENEW UNSUBSCRIBE 状态码: 400 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
  • URI GET /v5/{project_id}/jobs 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 job_type 是 String 任务场景。取值: migration:实时迁移。 sync:实时同步。 cloudDataGuard:实时灾备。 枚举值: migration sync cloudDataGuard name 否 String 任务ID或名称。支持输入多个任务ID,逗号分隔,最多10个。 status 否 String 任务状态。取值: CREATING:创建中。 CREATE_FAILED:创建失败。 CONFIGURATION:配置中。 STARTJOBING:启动中。 WAITING_FOR_START:等待启动中。 START_JOB_FAILED:任务启动失败。 FULL_TRANSFER_STARTED:全量迁移中,灾备场景为初始化。 FULL_TRANSFER_FAILED:全量迁移失败,灾备场景为初始化失败。 FULL_TRANSFER_COMPLETE:全量迁移完成,灾备场景为初始化完成。 INCRE_TRANSFER_STARTED:增量迁移中,灾备场景为灾备中。 INCRE_TRANSFER_FAILED:增量迁移失败,灾备场景为灾备异常。 RELEASE_RESOURCE_STARTED:结束任务中。 RELEASE_RESOURCE_FAILED:结束任务失败。 RELEASE_RESOURCE_COMPLETE:已结束。 CHANGE_JOB_STARTED:任务变更中。 CHANGE_JOB_FAILED:任务变更失败。 CHILD_TRANSFER_STARTING:子任务启动中。 CHILD_TRANSFER_STARTED:子任务迁移中。 CHILD_TRANSFER_COMPLETE:子任务迁移完成。 CHILD_TRANSFER_FAILED:子任务迁移失败。 RELEASE_CHILD_TRANSFER_STARTED:子任务结束中。 RELEASE_CHILD_TRANSFER_COMPLETE:子任务已结束。其中,异常状态可单独查询,也可以通过以下方式查询全部异常任务:CREATE_FAILED,START_JOB_FAILED,FULL_TRANSFER_FAILED,INCRE_TRANSFER_FAILED,RELEASE_RESOURCE_FAILED,CHANGE_JOB_FAILED,CHILD_TRANSFER_FAILED。 枚举值: CREATING CREATE_FAILED CONFIGURATION STARTJOBING WAITING_FOR_START START_JOB_FAILED FULL_TRANSFER_STARTED FULL_TRANSFER_FAILED FULL_TRANSFER_COMPLETE INCRE_TRANSFER_STARTED INCRE_TRANSFER_FAILED RELEASE_RESOURCE_STARTED RELEASE_RESOURCE_FAILED RELEASE_RESOURCE_COMPLETE CHANGE_JOB_STARTED CHANGE_JOB_FAILED CHILD_TRANSFER_STARTING CHILD_TRANSFER_STARTED CHILD_TRANSFER_COMPLETE CHILD_TRANSFER_FAILED RELEASE_CHILD_TRANSFER_STARTED RELEASE_CHILD_TRANSFER_COMPLETE engine_type 否 String 引擎类型。取值: oracle-to-gaussdbv5:Oracle同步到GaussDB分布式版,实时同步场景使用。 redis-to-gaussredis:Redis迁移到GeminiDB Redis,实时迁移场景使用。 rediscluster-to-gaussredis:Redis集群迁移到GeminiDB Redis,实时迁移场景使用。 枚举值: oracle-to-gaussdbv5 redis-to-gaussredis rediscluster-to-gaussredis net_type 否 String 网络类型。取值: eip:公网网络。 vpc:VPC网络。 vpn:VPN、专线网络。 枚举值: eip vpc vpn enterprise_project_id 否 String 企业项目ID。 缺省值:"",表示查询所有企业项目任务。 offset 否 Integer 偏移量,表示查询该偏移量后面的记录。 limit 否 Integer 查询返回记录的数量限制。 sort_key 否 String 返回结果按该关键字排序,默认为“create_time”。 当前支持排序的关键字: name status create_time net_type job_direction pay_mode sort_dir 否 String 降序或升序(分别对应desc和asc,默认为“desc”)。 instance_ids 否 Array of strings 数据库实例ID列表,缺省值:null,表示不使用数据库实例ID过滤。 instance_ip 否 String DRS绑定的数据库实例IP,缺省值:"",表示不使用DRS绑定数据库IP过滤。
  • 请求参数 表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
  • 请求示例 查询实时迁移可用链路信息。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/links?job_type=migration 查询实时同步可用链路信息。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/links?job_type=sync 查询实时灾备可用链路信息。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/links?job_type=cloudDataGuard
  • 响应示例 状态码: 200 OK { "job_links" : [ { "job_type" : "sync", "engine_type" : "oracle-to-gaussdbv5", "net_type" : "eip", "task_types" : [ "FULL_INCR_TRANS", "FULL_TRANS", "INCR_TRANS" ], "job_direction" : "up", "cluster_modes" : [ "Independent", "Combined" ], "source_endpoint_type" : "offline", "target_endpoint_type" : "cloud" }, { "job_type" : "sync", "engine_type" : "oracle-to-gaussdbv5", "net_type" : "vpn", "task_types" : [ "FULL_INCR_TRANS", "FULL_TRANS", "INCR_TRANS" ], "job_direction" : "up", "cluster_modes" : [ "Independent", "Combined" ], "source_endpoint_type" : "offline", "target_endpoint_type" : "cloud" } ], "total_count" : 2 } 状态码: 400 Bad Request { "error_code" : "DRS.10000009", "error_msg" : "Parameter error." }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 job_links Array of objects 可用链路信息。 详情请参见表5。 total_count Integer 可用链路总条数。 表5 job_links字段数据结构说明 参数 参数类型 描述 job_type String 任务场景。取值: migration:实时迁移。 sync:实时同步。 cloudDataGuard:实时灾备。 枚举值: migration sync cloudDataGuard engine_type String 引擎类型。取值: oracle-to-gaussdbv5:Oracle同步到GaussDB分布式版,实时同步场景使用。 redis-to-gaussredis:Redis迁移到GeminiDB Redis,实时迁移场景使用。 rediscluster-to-gaussredis:Redis集群迁移到GeminiDB Redis,实时迁移场景使用。 枚举值: oracle-to-gaussdbv5 redis-to-gaussredis rediscluster-to-gaussredis source_endpoint_type String 源数据库实例类型。取值: offline:自建数据库。 ecs:华为云E CS 自建数据库。 cloud:华为云数据库。 枚举值: offline ecs cloud target_endpoint_type String 目标数据库实例类型。取值: offline:自建数据库。 ecs:华为云ECS自建数据库。 cloud:华为云数据库。 枚举值: offline ecs cloud job_direction String 迁移方向。取值: up:入云 ,灾备场景时对应本云为备。 down:出云,灾备场景时对应本云为主。 non-dbs:自建。 枚举值: up down non-dbs net_type String 网络类型。取值: eip:公网网络。 vpc:VPC网络,灾备场景不支持选择VPC网络。 vpn:VPN、专线网络。 枚举值: eip vpc vpn task_types Array of strings 迁移模式。取值: FULL_TRANS :全量。 FULL_INCR_TRANS:全量+增量。 INCR_TRANS:增量。 枚举值: FULL_TRANS FULL_INCR_TRANS INCR_TRANS cluster_modes Array of strings 引擎实例模式。取值: Single:单机模式。 Ha:主备模式。 Cluster:集群模式。 Sharding:分片模式。 Independent:GaussDB独立部署模式。 枚举值: Single Ha Cluster Sharding Independent description String 链路描述。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
  • 请求参数 表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
  • URI GET /v5/{project_id}/links 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 job_type 是 String 任务场景。取值: migration:实时迁移。 sync:实时同步。 cloudDataGuard:实时灾备。 枚举值: migration sync cloudDataGuard offset 否 Integer 偏移量,表示查询该偏移量后面的记录。 limit 否 Integer 查询返回记录的数量限制。
  • 请求示例 GaussDB主备版到kafka任务设置指定源库逻辑复制槽推进间隔 https://{endpoint}/v3/054c06d8aa00d39e2f6cc00176952b8b/job/1e3f710f-4df3-4fc9-8a29-0ec72c5jb2b3/tuning-params/modify-params { "incre_relay" : { "slotAdvanceInterval" : "5" } } 初始化高级参数 https://{endpoint}/v3/054c06d8aa00d39e2f6cc00176952b8b/job/1e3f710f-4df3-4fc9-8a29-0ec72c5jb2b3/tuning-params/modify-params { "recovery" : true }
  • 响应示例 状态码: 200 OK { "full_sync" : [ ], "incre_capture" : [ ], "incre_apply" : [ ], "incre_relay" : [ { "param_name" : "slotAdvanceInterval", "param_value" : "5" } ], "modify_result" : "success" }
  • URI PUT /v3/{project_id}/job/{job_id}/tuning-params/modify-params 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 job_id 是 String 租户在某一Region下的Job ID,如果是主备任务,使用父任务ID。 获取方法请参见获取任务ID。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 full_sync Array of objects 全量调优参数。 详情请参见表5。 incre_capture Array of objects 增量抓取调优参数。 详情请参见表5 TuningParameterfull_sync、incre_capture、incre_apply和incre_relay字段数据结构说明。 incre_apply Array of objects 增量回放调优参数。 详情请参见表5 TuningParameterfull_sync、incre_capture、incre_apply和incre_relay字段数据结构说明。 incre_relay Array of objects 增量日志拉取调优参数。 详情请参见表5 TuningParameterfull_sync、incre_capture、incre_apply和incre_relay字段数据结构说明。 modify_result String 参数修改是否成功。 表5 full_sync、incre_capture、incre_apply和incre_relay字段数据结构说明 参数 参数类型 描述 param_name String 参数名称 param_value String 参数取值 availability String 是否可用
  • 接口约束 任务创建成功之后,任务状态为CONFIGURATION,并且与源库和目标库测试连接通过、修改任务接口调用成功后才能调用。 支持设置Kafka同步策略的有:PostgreSQL-Kafka同步,Oracle-Kafka同步,GaussDB-Kafka同步,GaussDB(for MySQL)-Kafka,MySQL-Kafka。 GaussDB(for MySQL)-Kafka,MySQL-Kafka支持任务状态为INCRE_TRANSFER_STARTED时修改Kafka策略配置,修改配置后需等任务状态为INCRE_TRANSFER_STARTED时再进行编辑同步对象操作。
共100000条