调用RegisterInstance录入本企业新数据库实例。

DMS企业版用户的管理员、DBA(即产品内【系统管理】-【用户管理】中的管理员与DBA角色的用户)都可以通过这个接口增加录入本企业的新数据库实例。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String RegisterInstance

系统规定参数。取值:RegisterInstance

Tid Long -1

租户ID。

说明 取自【系统管理】-【实例管理】或【系统管理】-【用户管理】的产品规格。
InstanceType String MySQL

数据库类型,取值为:

  • MySQL
  • SQLServer
  • PostgreSQL
  • Oracle
  • DRDS
  • OceanBase
  • Mongo
  • Redis
InstanceSource String RDS

数据库实例来源,取值和说明如下:

  • PUBLIC_OWN: 代表公网自建实例
  • RDS: 代表RDS实例
  • ECS_OWN: 代表ECS自建实例
  • VPC_IDC: 代表VPC IDC自建实例
NetworkType String VPC

网络类型,取值和说明如下:

  • CLASSIC: 经典网络
  • VPC: VPC网络
EnvType String product

环境类型,取值和说明如下:

  • product:生产环境
  • dev: 开发环境
  • pre: 预发环境
  • test: 测试环境
  • sit: SIT环境
  • uat: UAT环境
  • pet: 压测环境
  • stag: STAG环境
Host String dmstest.rds.aliyun.com

目标数据库的主机地址

Port Integer 3306

目标数据库的访问端口

DatabaseUser String dmstest

数据库访问账号

DatabasePassword String password

数据库访问密码

InstanceAlias String 测试实例

实例名称,后续帮助用户快速区分定位。

DbaUid Long 12345678

实例的DBA,传入DBA的阿里云uid。

说明 取自【系统管理】-【用户管理】-UID
SafeRule String 测试使用

实例的安全规则,传入企业内的安全规则名称。

说明 取自【系统管理】-【安全规则】-安全规则列表中的“安全规则名称”
QueryTimeout Integer 60

查询超时时间,单位:s(秒)

ExportTimeout Integer 600

导出超时时间,单位:s(秒)

EcsInstanceId String i-xxxxxxxxx

ECS的实例ID。

说明 InstanceSource取值为ECS自建库此值必传
VpcId String vpc-xxxxxxxxxxxxxxxxxxxxx

VPC ID。

说明 InstanceSource取值为VPC专线IDC时此值必传。
EcsRegion String cn-hangzhou

实例所在区域。

说明 InstanceSource取值为RDS、ECS自建库、VPC专线IDC时此值必传。
Sid String dmstest

SID/数据库。

说明 InstanceType取值为PostgreSQL、Oracle时此值必传。
DataLinkName String dblink_test

跨库查询datalink名称

DdlOnline Integer 2

【重点关注】是否使用online服务,目前仅支持MySQL和PolarDB

  • 0 :不使用
  • 1 :原生onlineDDL优先
  • 2 :DMS无锁表结构变更优先
UseDsql Integer 1

是否启用跨实例查询,取值:

  • 0:不开启
  • 1:开启

返回数据

名称 类型 示例值 描述
RequestId String F4E2A94B-604F-43FF-93E7-F4EE3DCF412E

请求唯一ID

Success Boolean true
  • true:录入成功
  • false:录入失败
ErrorMessage String The specified instance already exists.

错误消息

ErrorCode String 404

错误码

示例

请求示例

http(s)://[Endpoint]/?Action=RegisterInstance
&Tid=-1
&InstanceType=MySQL
&InstanceSource=RDS
&NetworkType=VPC
&EnvType=product
&Host=dmstest.rds.aliyun.com
&Port=3306
&DatabaseUser=dmstest
&DatabasePassword=password
&InstanceAlias=测试实例
&DbaUid=12345678
&SafeRule=测试使用
&QueryTimeout=60
&ExportTimeout=600
&<公共请求参数>

正常返回示例

XML 格式

<RegisterInstanceResponse>
      <RequestId>D4F02899-CE79-4DFD-9893-5217DA70B363</RequestId>
      <Success>true</Success>
</RegisterInstanceResponse>

JSON 格式

{
    "RequestId": "F4E2A94B-604F-43FF-93E7-F4EE3DCF412E",
    "Success": true
}

错误码

访问错误中心查看更多错误码。

Python sdk示例

示例为VPC专线实例的录入。


#coding=utf-8
from aliyunsdkcore.client import AcsClient
from aliyunsdkdms_enterprise.request.v20181101.RegisterInstanceRequest import RegisterInstanceRequest
client = AcsClient(
    "<your-access-key-id>",
    "<your-access-key-secret>",
    "<your-region-id>"
)
# VPC_IDC实例注册示例
request = RegisterInstanceRequest()
# 租户ID
request.set_Tid(1)
# 实例host
request.set_Host("192.168.16.113")
# 实例port
request.set_Port(3314)
# 实例db类型 eg : MySQL
request.set_InstanceType("MySQL")
# 实例来源 eg : VPC_IDC
request.set_InstanceSource("VPC_IDC")
# 网络类型 type: eg : VPC
request.set_NetworkType("VPC")
request.set_EnvType("PRODUCT")
# request.set_EcsInstanceId()
# 实例 vpc id
request.set_VpcId("实例 vpc id")
# 实例 ecs region eg: cn-hangzhou
request.set_EcsRegion("实例 ecs region")
# request.set_Sid();
# 实例db登录用户
request.set_DatabaseUser("实例db登录用户")
# 实例db登录密码
request.set_DatabasePassword("实例db登录密码")
# 实例别名, 方便DMS企业版里面区分实例用
request.set_InstanceAlias("实例别名")
# 实例dba 阿里云uid(此用户必须先在DMS企业版录入, 或者使用api提前录入)
request.set_DbaUid(-1)
request.set_SafeRule("DMS企业版里面配置的安全规则的规则名")
request.set_QueryTimeout(60)
request.set_ExportTimeout(600)
response = client.do_action_with_exception(request)
print response