Database Migration Service fournit une API REST pour administrer vos profils de connexion et vos tâches de migration de manière programmatique. L'API REST est définie par les ressources associées à la création et à la gestion des profils de connexion et des tâches de migration. Pour en savoir plus sur toutes les ressources et leurs méthodes, consultez la documentation de référence de l'API Database Migration Service.
Lorsque vous envoyez des requêtes directement à l'API REST du service de migration de base de données, vous devez créer la forme correcte de la requête, l'autoriser en tant qu'utilisateur authentifié et traiter les réponses renvoyées. De nombreuses tâches de cette documentation fournissent des exemples d'API à l'aide de cURL.
Pour obtenir d'autres exemples d'utilisation des API, consultez la page de la requête dans la documentation de référence de l'API Database Migration Service. Chaque page contient des exemples d'appel de l'API dans plusieurs langages de programmation, ainsi qu'un explorateur spécifique à la requête pour vous aider à voir ce qui compose une requête bien structurée et à vous attendre à quoi dans la réponse.
Vous utilisez également l'API Database Migration Service, indirectement, lorsque vous utilisez l'une des méthodes suivantes d'administration des instances:
Google Cloud CLI: interface de ligne de commande (CLI) que vous pouvez utiliser pour travailler avec vos instances.
Google Cloud console: interface Web graphique.
L'avantage de ces méthodes, en particulier de la consoleGoogle Cloud , est qu'elles peuvent grandement simplifier l'administration de vos profils de connexion et de vos tâches de migration (selon votre cas d'utilisation). Si vous débutez avec Database Migration Service, nous vous recommandons de commencer par l'un de ces outils avant de travailler directement avec l'API REST.
Activer l'API
Pour utiliser l'API Database Migration Service, vous devez l'activer:
Console
- Activez l'API Database Migration Service.
- Sélectionnez votre projet.
- Cliquez sur Continuer.
gcloud
- Saisissez la commande suivante pour afficher les ID de vos projets Google Cloud:
gcloud projects list
- Définissez le projet par défaut :
gcloud config set project YOUR_PROJECT_ID
- Activez l'API Cloud SQL Admin :
gcloud services enable datamigration.googleapis.com
Autorisations
Vous devez disposer des autorisations requises pour utiliser l'API Database Migration Service. Ces autorisations incluent les suivantes:
- Administrateur de la migration de bases de données: avec cette autorisation, un utilisateur a accès à toutes les ressources de Database Migration Service utilisées pour gérer les profils de connexion et les jobs de migration.
- Lecteur Database Migration: avec cette autorisation, un utilisateur dispose d'un accès en lecture seule aux profils de connexion et aux tâches de migration dans Database Migration Service.
- Administrateur Cloud SQL: avec cette autorisation, un utilisateur peut créer et gérer des profils de connexion et des jobs de migration pour Cloud SQL dans Database Migration Service.
Google Cloud propose Identity and Access Management (IAM), qui vous permet de définir de manière plus précise l'accès à des ressources spécifiques de Google Cloud et d'empêcher tout accès indésirable à d'autres ressources. Vous pouvez obtenir et définir des autorisations pour Database Migration Service à l'aide de la console Google Cloud, des méthodes IAM de l'API ou de la Google Cloud CLI. Pour en savoir plus, consultez la page Accorder, modifier et révoquer les accès à des ressources.
Fournir des données JSON à partir d'un fichier
Lorsque vous utilisez l'API avec cURL, vous fournissez les valeurs des propriétés à l'aide de la ligne de commande. Si vous travaillez avec des valeurs sensibles telles que des mots de passe ou des clés de sécurité, les fournir sur la ligne de commande présente un risque de sécurité. Pour renforcer la sécurité, vous pouvez créer un fichier contenant les données JSON de l'appel d'API et indiquer le chemin d'accès au fichier sur la ligne de commande.
Pour fournir des données JSON à votre appel d'API cURL à partir d'un fichier :
Créez un fichier contenant tout ce qui est entouré de guillemets simples pour le champ
--data
.Incluez les accolades, mais pas les guillemets simples.
Sur la ligne de commande, indiquez le chemin d'accès au fichier, précédé du caractère
@
, en tant que paramètre--data
:--data @<path-to-file>/<filename>
Par exemple, pour créer un profil de connexion pour une base de données de destination Cloud SQL, vous pouvez créer un fichier nommé
request.json
avec le contenu suivant:{ "displayName": "my Cloud SQL connection profile", "mysql": { "host": "10.11.12.13", "port": 5432, "username": "myusername", "password": "mypassword" } }
Vous devez ensuite utiliser la commande cURL suivante sur la ligne de commande :
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ --header 'Content-Type: application/json' \ --data @./request.json \ -X POST \ https://datamigration.googleapis.com/v1/projects/myProject/locations/myLocation/connectionProfiles?connectionProfileId=myCloudSQLconnectionprofile
Utiliser des appels d'API de longue durée
Certains appels d'API, comme la création d'objets, peuvent prendre un certain temps. Étant donné que l'API est asynchrone, l'appel est renvoyé immédiatement, même si l'opération est toujours en cours. Si un appel d'API ultérieur utilise l'objet nouvellement créé, vous devez attendre la fin de la première opération avant de continuer.
Vous pouvez utiliser l'API Database Migration Service pour gérer les opérations. Par exemple :
- Affichage des détails d'une opération
- Opérations de création d'annonces pour une région
- Supprimer une opération
Database Migration Service et service de découverte des API Google
Le service de découverte des API Google est un service que vous pouvez utiliser pour découvrir les API Google. Par exemple, lorsque vous utilisez l'outil Google APIs Explorer , vous utilisez le service de découverte.
Dans le service de découverte, Database Migration Service est représenté par "datamigration" (par exemple : https://datamigration.googleapis.com/$discovery/rest?version=v1).