Registra uma instância de banco de dados no Data Management (DMS).
Pré-requisitos
Você deve ser administrador do DMS ou administrador de banco de dados (DBA). Para consultar sua função de usuário, chame a operação ListUsers ou GetUser e verifique o parâmetro RoleIdList retornado.
Depuração
Parâmetros de solicitação
| Parâmetro | Tipo | Obrigatório | Exemplo | Descrição |
| Action | String | Sim | RegisterInstance | Operação a ser executada. Defina o valor como RegisterInstance. |
| Tid | Long | Sim | 3*** | ID do locatário. Chame a operação GetUserActiveTenant para consultar esse ID. |
| InstanceType | String | Sim | MySQL | Tipo do banco de dados. Para obter mais informações sobre os valores válidos deste parâmetro, consulte Parâmetro DbType. |
| InstanceSource | String | Sim | RDS | Origem da instância de banco de dados. Valores válidos:
|
| NetworkType | String | Sim | VPC | Tipo de rede da instância de banco de dados. Valores válidos:
|
| EnvType | String | Sim | product | Tipo de ambiente onde a instância de banco de dados está implantada. Valores válidos:
|
| EcsInstanceId | String | Não | i-2zei9gs1t7h8l7ac**** | ID da instância ECS onde o banco de dados está implantado. Nota Este parâmetro é obrigatório se InstanceSource estiver definido como ECS_OWN. |
| VpcId | String | Não | vpc-xxxxxxxxxxxxxxxxxxxxx | ID da VPC à qual a instância de banco de dados pertence. Nota Este parâmetro é obrigatório se InstanceSource estiver definido como VPC_IDC. |
| EcsRegion | String | Não | cn-hangzhou | ID da região onde a instância de banco de dados reside. Nota Este parâmetro é obrigatório se InstanceSource estiver definido como RDS, ECS_OWN ou VPC_IDC. |
| Host | String | Sim | 172.XX.XXX.254 | Endereço do host usado para conectar-se à instância de banco de dados. |
| Port | Integer | Sim | 3306 | Número da porta usada para conectar-se à instância de banco de dados. |
| Sid | String | Não | XXX | ID do sistema (SID) do banco de dados. Nota Este parâmetro é obrigatório se InstanceType estiver definido como ORACLE. |
| DatabaseUser | String | Sim | dmstest | Conta usada para fazer login no banco de dados. |
| DatabasePassword | String | Sim | ****** | Senha usada para fazer login no banco de dados. |
| InstanceAlias | String | Sim | Test | Alias da instância de banco de dados. Especifique um alias que facilite a identificação da instância no DMS. |
| DbaUid | Long | Sim | 22275482072787**** | ID do usuário que assume a função de DBA da instância de banco de dados. Chame a operação ListUsers ou GetInstance para consultar o ID do usuário. |
| SafeRule | String | Sim | Test | Nome do conjunto de regras de segurança (GroupName) do banco de dados. Chame a operação ListStandardGroups ou GetInstance para consultar esse nome. |
| QueryTimeout | Integer | Sim | 60 | Tempo limite para consultar dados da instância de banco de dados. Unidade: segundos. |
| ExportTimeout | Integer | Sim | 600 | Tempo limite para exportar dados da instância de banco de dados. Unidade: segundos. |
| DataLinkName | String | Não | dblink_test | Nome do link de banco de dados para consulta entre bancos de dados. Nota
|
| DdlOnline | Integer | Não | 2 | Defina se o recurso de alteração de esquema sem bloqueio deve ser ativado para a instância de banco de dados. Valores válidos:
Nota Tipos de banco de dados compatíveis: ApsaraDB RDS for MySQL, PolarDB for MySQL, ApsaraDB MyBase for MySQL e bancos de dados MySQL de outras origens. |
| UseDsql | Integer | Não | 1 | Defina se o recurso de consulta entre bancos de dados deve ser ativado para a instância de banco de dados. Valores válidos:
Nota Tipos de banco de dados compatíveis: MySQL, SQL Server, PostgreSQL, PolarDB for Oracle e ApsaraDB for Redis. |
| SkipTest | Boolean | Não | true | Defina se o teste de conectividade deve ser ignorado. Valores válidos:
|
| EnableSellSitd | String | Não | Y |
|
| TemplateId | Long | Não | 31*** | ID do modelo de classificação. |
| TemplateType | String | Não | INNER | Tipo do modelo de classificação. |
Parâmetros de resposta
| Parâmetro | Tipo | Exemplo | Descrição |
| RequestId | String | F4E2A94B-604F-43FF-93E7-F4EE3DCF412E | ID da solicitação. |
| ErrorCode | String | UnknownError | Código de erro retornado se a solicitação falhar. |
| ErrorMessage | String | UnknownError | Mensagem de erro retornada se a solicitação falhar. |
| Success | Boolean | true | Indica se a solicitação foi bem-sucedida. Valores válidos:
|
Exemplos
Exemplos de solicitações
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=Test
&DbaUid=22275482072787****
&SafeRule=Test
&QueryTimeout=60
&ExportTimeout=600
&DataLinkName=dblink_test
&DdlOnline=2
&UseDsql=1
&SkipTest=true
&Common request parameters
Exemplos de respostas de sucesso
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<RegisterInstanceResponse>
<RequestId>F4E2A94B-604F-43FF-93E7-F4EE3DCF412E</RequestId>
<Success>true</Success>
</RegisterInstanceResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "F4E2A94B-604F-43FF-93E7-F4EE3DCF412E",
"Success" : true
}
Códigos de erro
Para obter uma lista de códigos de erro, consulte Códigos de erro do serviço.
Código de exemplo usando o SDK for Python
O código de exemplo a seguir mostra como registrar uma instância de banco de dados implantada em um data center conectado por meio de uma 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>"
)
# Example
request = RegisterInstanceRequest()
# The ID of the tenant.
request.set_Tid(1)
# The host address that is used to connect to the database instance.
request.set_Host("192.168.16.113")
# The port number that is used to connect to the database instance.
request.set_Port(3314)
# The type of the database. In this example, the parameter is set to MySQL.
request.set_InstanceType("MySQL")
# The source of the database instance. In this example, the parameter is set to VPC_IDC.
request.set_InstanceSource("VPC_IDC")
# The network type of the database instance. In this example, the parameter is set to VPC.
request.set_NetworkType("VPC")
request.set_EnvType("PRODUCT")
# request.set_EcsInstanceId()
# The ID of the VPC to which the database instance belongs.
request.set_VpcId("VPC ID of the database instance")
# The ID of the region in which the database instance resides. Example: cn-hangzhou.
request.set_EcsRegion("Region ID of the database instance")
# request.set_Sid();
# The account that is used to log on to the database.
request.set_DatabaseUser("Logon account of the database")
# The password that is used to log on to the database.
request.set_DatabasePassword("Logon password of the database")
# The alias of the database instance. This alias helps you identify the database instance in DMS.
request.set_InstanceAlias("Alias of the database instance")
# The ID of the user who assumes the DBA role of the instance. The user must be added to DMS Enterprise by using the console or the relevant API operation in advance.
request.set_DbaUid(-1)
request.set_SafeRule("Name of the security rule set that is configured in DMS Enterprise")
request.set_QueryTimeout(60)
request.set_ExportTimeout(600)
response = client.do_action_with_exception(request)
print response