Enregistre une instance de base de données dans Data Management (DMS).
Prérequis
Vous devez être administrateur DMS ou administrateur de base de données (DBA). Appelez l'opération ListUsers ou GetUser pour récupérer votre rôle d'utilisateur via le paramètre RoleIdList renvoyé.
Débogage
Paramètres de requête
| Paramètre | Type | Obligatoire | Exemple | Description |
| Action | String | Oui | RegisterInstance | Opération à effectuer. Définissez la valeur sur RegisterInstance. |
| Tid | Long | Oui | 3*** | ID du locataire. Appelez l'opération GetUserActiveTenant pour récupérer l'ID du locataire. |
| InstanceType | String | Oui | MySQL | Type de base de données. Pour connaître les valeurs valides, consultez le paramètre DbType. |
| InstanceSource | String | Oui | RDS | Source de l'instance de base de données. Valeurs valides :
|
| NetworkType | String | Oui | VPC | Type de réseau de l'instance de base de données. Valeurs valides :
|
| EnvType | String | Oui | product | Type d'environnement de déploiement de l'instance de base de données. Valeurs valides :
|
| EcsInstanceId | String | Non | i-2zei9gs1t7h8l7ac**** | ID de l'instance ECS hébergeant l'instance de base de données. Remarque Ce paramètre est obligatoire si InstanceSource est défini sur ECS_OWN. |
| VpcId | String | Non | vpc-xxxxxxxxxxxxxxxxxxxxx | ID du VPC auquel appartient l'instance de base de données. Remarque Ce paramètre est obligatoire si InstanceSource est défini sur VPC_IDC. |
| EcsRegion | String | Non | cn-hangzhou | ID de la région où réside l'instance de base de données. Remarque Ce paramètre est obligatoire si InstanceSource est défini sur RDS, ECS_OWN ou VPC_IDC. |
| Host | String | Oui | 172.XX.XXX.254 | Adresse hôte utilisée pour se connecter à l'instance de base de données. |
| Port | Integer | Oui | 3306 | Numéro de port utilisé pour se connecter à l'instance de base de données. |
| Sid | String | Non | XXX | Identifiant système (SID) de la base de données. Remarque Ce paramètre est obligatoire si InstanceType est défini sur ORACLE. |
| DatabaseUser | String | Oui | dmstest | Compte utilisé pour se connecter à la base de données. |
| DatabasePassword | String | Oui | ****** | Mot de passe utilisé pour se connecter à la base de données. |
| InstanceAlias | String | Oui | Test | Alias de l'instance de base de données. Spécifiez un alias permettant d'identifier l'instance dans DMS. |
| DbaUid | Long | Oui | 22275482072787**** | ID de l'utilisateur endossant le rôle DBA de l'instance de base de données. Appelez l'opération ListUsers ou GetInstance pour récupérer l'ID de l'utilisateur. |
| SafeRule | String | Oui | Test | Nom de l'ensemble de règles de sécurité (GroupName) pour la base de données. Appelez l'opération ListStandardGroups ou GetInstance pour récupérer le nom de l'ensemble de règles de sécurité. |
| QueryTimeout | Integer | Oui | 60 | Délai d'expiration des requêtes sur l'instance de base de données. Unité : secondes. |
| ExportTimeout | Integer | Oui | 600 | Délai d'expiration des exportations de données depuis l'instance de base de données. Unité : secondes. |
| DataLinkName | String | Non | dblink_test | Nom du lien de base de données pour les requêtes inter-bases. Remarque
|
| DdlOnline | Integer | Non | 2 | Indique s'il faut activer la modification de schéma sans verrouillage pour l'instance de base de données. Valeurs valides :
Remarque Types de bases de données pris en charge : ApsaraDB RDS for MySQL, PolarDB for MySQL, ApsaraDB MyBase for MySQL et bases de données MySQL externes. |
| UseDsql | Integer | Non | 1 | Indique s'il faut activer les requêtes inter-bases pour l'instance de base de données. Valeurs valides :
Remarque Types de bases de données pris en charge : MySQL, SQL Server, PostgreSQL, PolarDB for Oracle et ApsaraDB for Redis. |
| SkipTest | Boolean | Non | true | Indique s'il faut ignorer le test de connectivité. Valeurs valides :
|
| EnableSellSitd | String | Non | Y |
|
| TemplateId | Long | Non | 31*** | ID du modèle de classification. |
| TemplateType | String | Non | INNER | Type de modèle de classification. |
Paramètres de réponse
| Paramètre | Type | Exemple | Description |
| RequestId | String | F4E2A94B-604F-43FF-93E7-F4EE3DCF412E | ID de la requête. |
| ErrorCode | String | UnknownError | Code d'erreur renvoyé en cas d'échec de la requête. |
| ErrorMessage | String | UnknownError | Message d'erreur renvoyé en cas d'échec de la requête. |
| Success | Boolean | true | Indique si la requête a réussi. Valeurs valides :
|
Exemples
Exemple de requête
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
Exemple de réponse réussie
Format XML
HTTP/1.1 200 OK
Content-Type:application/xml
<RegisterInstanceResponse>
<RequestId>F4E2A94B-604F-43FF-93E7-F4EE3DCF412E</RequestId>
<Success>true</Success>
</RegisterInstanceResponse>
Format JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "F4E2A94B-604F-43FF-93E7-F4EE3DCF412E",
"Success" : true
}
Codes d'erreur
Pour obtenir la liste des codes d'erreur, consultez les Codes d'erreur du service.
Exemple de code utilisant le SDK pour Python
L'exemple de code suivant montre comment enregistrer une instance de base de données déployée dans un centre de données connecté via un 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