调用RegisterInstance接口,在DMS中录入新的数据库实例。
前提条件:
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
| 名称 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
| Action | String | 是 | RegisterInstance |
系统规定参数。取值:RegisterInstance。 |
| Tid | Long | 是 | 3*** |
租户ID,可通过调用接口GetUserActiveTenant获取该参数的值。 |
| InstanceType | String | 是 | MySQL |
数据库类型,取值请参见DbType参数说明。 |
| InstanceSource | String | 是 | RDS |
数据库实例来源,取值如下:
|
| NetworkType | String | 是 | VPC |
网络类型,取值如下:
|
| EnvType | String | 是 | product |
环境类型,取值如下:
|
| EcsInstanceId | String | 否 | i-2zei9gs1t7h8l7ac**** |
ECS的实例ID。 说明 如果InstanceSource取值为ECS_OWN,此值必填。
|
| VpcId | String | 否 | vpc-xxxxxxxxxxxxxxxxxxxxx |
VPC ID。 说明 如果InstanceSource取值为VPC_IDC时,此值必填。
|
| EcsRegion | String | 否 | cn-hangzhou |
实例所在区域。 说明 如果InstanceSource取值为RDS、ECS_OWN或VPC_IDC,此值必填。
|
| Host | String | 是 | 172.XX.XXX.254 |
目标数据库的主机地址。 |
| Port | Integer | 是 | 3306 |
目标数据库的访问端口。 |
| Sid | String | 否 | XXX |
数据库SID。 说明 如果InstanceType为ORACLE,此项必填。
|
| DatabaseUser | String | 是 | dmstest |
数据库访问账号。 |
| DatabasePassword | String | 是 | ****** |
数据库访问密码。 |
| InstanceAlias | String | 是 | 测试实例 |
实例别名,可以帮助用户快速区分定位实例。 |
| DbaUid | Long | 是 | 22275482072787**** |
实例DBA角色的用户UID,可通过调用接口ListUsers或GetInstance获取该参数的值。 |
| SafeRule | String | 是 | 测试使用 |
实例的安全规则集(GroupName),可通过调用接口ListStandardGroups或GetInstance获取该参数的值。 |
| QueryTimeout | Integer | 是 | 60 |
查询超时时间,单位:s(秒)。 |
| ExportTimeout | Integer | 是 | 600 |
导出超时时间,单位:s(秒)。 |
| DataLinkName | String | 否 | dblink_test |
输入跨库查询datalink名称。 说明
|
| DdlOnline | Integer | 否 | 2 |
是否开启结构变更优先,取值如下:
说明 支持的数据库类型:RDS MySQL、PolarDB MySQL引擎、MyBase MySQL、其他来源MySQL。
|
| UseDsql | Integer | 否 | 1 |
是否启用跨实例查询,取值如下:
说明 支持的数据库类型:MySQL、SQL Server、PostgreSQL、PolarDB O引擎、Redis。
|
| SkipTest | Boolean | 否 | true |
实例是否忽略测试连通性。取值如下:
|
| EnableSellSitd | String | 否 | Y |
|
| TemplateId | Long | 否 | 31*** |
分类分级模板ID。您可以调用ListClassificationTemplates接口获取该参数的值。 |
| TemplateType | String | 否 | INNER |
分类分级模板类型。您可以调用ListClassificationTemplates接口获取该参数的值。 |
返回数据
| 名称 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RequestId | String | F4E2A94B-604F-43FF-93E7-F4EE3DCF412E |
请求ID。 |
| ErrorCode | String | UnknownError |
错误码。 |
| ErrorMessage | String | UnknownError |
错误消息。 |
| Success | Boolean | true |
请求是否成功,返回值如下:
|
示例
请求示例
http(s)://dms-enterprise.aliyuncs.com/?Action=RegisterInstance
&Tid=3***
&InstanceType=MySQL
&InstanceSource=RDS
&NetworkType=VPC
&EnvType=product
&EcsInstanceId=i-2zei9gs1t7h8l7ac****
&VpcId=vpc-xxxxxxxxxxxxxxxxxxxxx
&EcsRegion=cn-hangzhou
&Host=172.XX.XXX.254
&Port=3306
&Sid=XXX
&DatabaseUser=dmstest
&DatabasePassword=******
&InstanceAlias=测试实例
&DbaUid=22275482072787****
&SafeRule=测试使用
&QueryTimeout=60
&ExportTimeout=600
&DataLinkName=dblink_test
&DdlOnline=2
&UseDsql=1
&SkipTest=true
&公共请求参数
正常返回示例
XML格式
HTTP/1.1 200 OK
Content-Type:application/xml
<RegisterInstanceResponse>
<RequestId>F4E2A94B-604F-43FF-93E7-F4EE3DCF412E</RequestId>
<Success>true</Success>
</RegisterInstanceResponse>
JSON格式
HTTP/1.1 200 OK
Content-Type:application/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