在DMS中录入新的数据库实例。
接口说明
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
dms:RegisterInstance | create | *全部资源 * |
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
Tid | long | 否 | 租户 ID,可通过调用接口 GetUserActiveTenant 获取该参数的值。 | 3*** |
InstanceType | string | 是 | 数据库类型,取值请参见 DbType 参数说明。 | MySQL |
InstanceSource | string | 是 | 数据库实例来源,取值如下:
| RDS |
NetworkType | string | 是 | 网络类型,取值如下:
| VPC |
EnvType | string | 是 | 环境类型,取值如下:
| product |
EcsInstanceId | string | 否 | ECS 的实例 ID。 说明
如果 InstanceSource 取值为 ECS_OWN,此值必填。
| i-2zei9gs1t7h8l7ac**** |
VpcId | string | 否 | VPC ID。 说明
如果 InstanceSource 取值为 VPC_IDC 时,此值必填。
| vpc-xxxxxxxxxxxxxxxxxxxxx |
EcsRegion | string | 否 | 实例所在区域。 说明
如果 InstanceSource 取值为 RDS、ECS_OWN 或 VPC_IDC,此值必填。
| cn-hangzhou |
Host | string | 是 | 目标数据库的主机地址。 | 172.XX.XXX.254 |
Port | integer | 是 | 目标数据库的访问端口。 | 3306 |
Sid | string | 否 | 数据库 SID。 说明
如果 InstanceType 为 ORACLE,此项必填。
| XXX |
DatabaseUser | string | 是 | 数据库访问账号。 | dmstest |
DatabasePassword | string | 是 | 数据库访问密码。 | ****** |
InstanceAlias | string | 是 | 实例别名,可以帮助用户快速区分定位实例。 | 测试实例 |
DbaUid | long | 是 | 实例 DBA 角色的用户 UID,可通过调用接口 ListUsers 或 GetInstance 获取该参数的值。 | 22275482072787**** |
SafeRule | string | 是 | 实例的安全规则集(GroupName),可通过调用接口 ListStandardGroups 或 GetInstance 获取该参数的值。 | 测试使用 |
QueryTimeout | integer | 是 | 查询超时时间,单位:s(秒)。 | 60 |
ExportTimeout | integer | 是 | 导出超时时间,单位:s(秒)。 | 600 |
DataLinkName | string | 否 | 输入跨库查询 datalink 名称。 说明
| dblink_test |
DdlOnline | integer | 否 | 是否开启结构变更优先,取值如下:
说明
支持的数据库类型:RDS MySQL、PolarDB MySQL 引擎、MyBase MySQL、其他来源 MySQL。
| 2 |
UseDsql | integer | 否 | 是否启用跨实例查询,取值如下:
说明
支持的数据库类型:MySQL、SQL Server、PostgreSQL、PolarDB PostgreSQL 版(兼容 Oracle)、Redis。
| 1 |
SkipTest | boolean | 否 | 实例是否忽略测试连通性。取值如下:
| true |
EnableSellSitd | string | 否 |
| Y |
TemplateId | long | 否 | 分类分级模板 ID。您可以调用 ListClassificationTemplates 接口获取该参数的值。 | 31*** |
TemplateType | string | 否 | 分类分级模板类型。您可以调用 ListClassificationTemplates 接口获取该参数的值。 | INNER |
DbaUidByString | string | 否 | 用于替换 DbaUid 字段,可输入角色账号等非数字 DbaUid | 22275482072787**** |
返回参数
示例
正常返回示例
JSON
格式
{
"RequestId": "F4E2A94B-604F-43FF-93E7-F4EE3DCF412E",
"ErrorCode": "UnknownError",
"ErrorMessage": "UnknownError",
"Success": true
}
错误码
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|---|---|
2023-11-07 | OpenAPI 入参发生变更 | 查看变更详情 |
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