Présentation
Sur cette page, vous allez apprendre à utiliser l'API Database Migration Service pour gérer les profils de connexion d'une base de données source PostgreSQL et d'une destination AlloyDB.
Vous pouvez utiliser l'API Database Migration Service de deux manières. Vous pouvez effectuer des appels d'API REST ou utiliser la Google Cloud CLI (CLI).
Pour obtenir des informations générales sur l'utilisation de gcloud
afin de gérer les profils de connexion Database Migration Service, cliquez ici.
Créer un profil de connexion pour une base de données source PostgreSQL
Le code suivant montre une requête de création d'un profil de connexion pour une base de données source PostgreSQL.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- region : région du projet
- connection-profile-id: ID du profil de connexion
- connection-profile-display-name: nom à afficher du profil de connexion
- host-ip-address: adresse IP source
- username: nom de l'utilisateur de la base de données
- password: mot de passe de l'utilisateur de la base de données
Méthode HTTP et URL :
POST https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles?connectionProfileId=connection-profile-id
Corps JSON de la requête :
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles?connectionProfileId=connection-profile-id "
PowerShell (Windows)
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles?connectionProfileId=connection-profile-id " | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/project-id /locations/region /operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id /locations/region /connectionProfiles/connection-profile-id ", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Pour obtenir des informations générales sur l'utilisation de gcloud
afin de créer des profils de connexion Database Migration Service, cliquez ici.
Une fois le profil de connexion créé, vous pouvez afficher les informations le concernant en appelant la méthode connectionProfiles/get
.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- region : région du projet
- connection-profile-id: ID du profil de connexion
Méthode HTTP et URL :
GET https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles/connection-profile-id
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles/connection-profile-id "
PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles/connection-profile-id " | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Pour en savoir plus sur l'utilisation de gcloud
afin de récupérer des informations sur votre profil de connexion, cliquez ici.
Créer un profil de connexion pour une base de données source Cloud SQL pour PostgreSQL
Le code suivant montre une requête de création d'un profil de connexion pour une base de données source Cloud SQL pour PostgreSQL. Cet exemple utilise un profil de connexion PostgreSQL, car il se connecte au moteur de base de données PostgreSQL et non à la couche de gestion Cloud SQL.
Pour créer l'association entre la source et le réplicat à l'aide de Cloud SQL, vous devez fournir l'ID d'instance de votre base de données Cloud SQL. Vous pouvez trouver la valeur de l'ID de l'instance à l'aide de la méthode databases/list
de l'API Cloud SQL Admin.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- region : région du projet
- connection-profile-id: ID du profil de connexion
- connection-profile-display-name: nom à afficher du profil de connexion
- host-ip-address: adresse IP source
- username: nom de l'utilisateur de la base de données
- password: mot de passe de l'utilisateur de la base de données
- cloud-sql-instance-id: ID de l'instance Cloud SQL
Méthode HTTP et URL :
POST https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles?connectionProfileId=connection-profile-id
Corps JSON de la requête :
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles?connectionProfileId=connection-profile-id "
PowerShell (Windows)
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles?connectionProfileId=connection-profile-id " | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/project-id /locations/region /operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id /locations/region /connectionProfiles/connection-profile-id ", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Pour obtenir des informations générales sur l'utilisation de gcloud
afin de créer des profils de connexion Database Migration Service, cliquez ici.
Créer un profil de connexion pour une destination AlloyDB pour PostgreSQL
Le code suivant montre une requête de création d'un profil de connexion pour une destination AlloyDB pour PostgreSQL. Database Migration Service utilise les informations de cette requête pour créer une instance AlloyDB.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- region : région du projet
- connection-profile-id: ID du profil de connexion
- connection-profile-display-name: nom à afficher du profil de connexion
- cluster-id: ID du cluster AlloyDB à créer
- user: nom d'utilisateur à attribuer à l'utilisateur initial
- password: mot de passe à attribuer à l'utilisateur initial
- vpc-network: réseau VPC auquel le cluster AlloyDB sera connecté
- instance-id: ID de l'instance AlloyDB à créer
- cpu-count: nombre de processeurs à configurer pour l'instance
Toutes les données stockées dans Google Cloud sont chiffrées au repos à l'aide des mêmes systèmes de gestion de clés renforcés que ceux que nous utilisons pour nos propres données chiffrées. Ces systèmes de gestion de clés fournissent des contrôles d'accès et des audits de clés stricts, et chiffrent les données utilisateur au repos à l'aide des normes de chiffrement AES-256. Aucune installation, configuration ou gestion n'est requise.Le chiffrement au repos par défaut de Google Cloudest le meilleur choix pour les utilisateurs qui n'ont pas d'exigences spécifiques liées à la conformité ou à la localité du matériel de cryptographie.
Méthode HTTP et URL :
POST https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles?connectionProfileId=connection-profile-id
Corps JSON de la requête :
{ "displayName": "connection-profile-display-name ", "alloydb": { "cluster_id": "cluster-id " "settings": { "initial_user": { "user": "user ", "password": "password ", } "vpc_network": "vpc-network ", "primary_instance_settings": { "id": "instance-id ", "machine_config": { "cpu_count":cpu-count } } } } }
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles?connectionProfileId=connection-profile-id "
PowerShell (Windows)
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles?connectionProfileId=connection-profile-id " | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/project-id /locations/region /operations/operation-1591975557292-5a7e4b195623c-e350e3da-713dee7d", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T15:25:57.430715421Z", "target": "projects/project-id /locations/region /connectionProfiles/connection-profile-id ", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Pour obtenir des informations générales sur l'utilisation de gcloud
afin de créer des profils de connexion Database Migration Service, cliquez ici.
Obtenir des informations sur un profil de connexion
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- region : région du projet
- connection-profile-id: ID du profil de connexion
Méthode HTTP et URL :
GET https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles/connection-profile-id
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles/connection-profile-id "
PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles/connection-profile-id " | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Pour en savoir plus sur l'utilisation de gcloud
afin de récupérer des informations sur votre profil de connexion, cliquez ici.
Répertorier les profils de connexion
La requête suivante montre comment récupérer des informations sur tous vos profils de connexion.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- region : région du projet
orderBy:
Utilisez ce filtre pour récupérer la liste de tous les profils de connexion d'une région donnée, par ordre alphabétique. Par exemple, le filtreorderBy=name
renvoie tous les profils de connexion, par ordre alphabétique, par nom.-
pageSize:
Utilisez ce filtre pour spécifier le nombre maximal de profils de connexion que Database Migration Service récupère et affiche sur une page. Par exemple, en définissantpageSize=10
, Database Migration Service renvoie jusqu'à 10 profils de connexion pour une page.
Si vous avez configuré plus de 10 profils de connexion, ils s'affichent sur d'autres pages. À la fin de chaque page, un paramètre nextPageToken
et un identifiant unique s'affichent. Utilisez l'identifiant pour récupérer la liste des profils de connexion de la page suivante.
Méthode HTTP et URL :
GET https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles"
PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Pour en savoir plus sur l'utilisation de gcloud
afin de récupérer des informations sur tous vos profils de connexion, cliquez ici.
Modifier un profil de connexion
La requête suivante montre une requête de mise à jour des champs de nom d'utilisateur et de mot de passe d'un profil de connexion existant. Si vous utilisez le paramètre updateMask
dans la requête, seuls ces champs doivent être inclus dans le corps de la requête.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- region : région du projet
- connection-profile-id: ID du profil de connexion
- username: nom de l'utilisateur de la base de données
- password: mot de passe de l'utilisateur de la base de données
Méthode HTTP et URL :
PATCH
Corps JSON de la requête :
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
""
PowerShell (Windows)
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/project-id /locations/region /operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id /locations/region /connectionProfiles/connection-profile-id ", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Pour en savoir plus sur l'utilisation de gcloud
afin de mettre à jour votre profil de connexion, cliquez ici.
Supprimer un profil de connexion
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- region : région du projet
- connection-profile-id: ID du profil de connexion
Méthode HTTP et URL :
DELETE https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles/connection-profile-id
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles/connection-profile-id "
PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles/connection-profile-id " | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/project-id /locations/region /operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id /locations/region /connectionProfiles/connection-profile-id ", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Pour en savoir plus sur la suppression de votre profil de connexion à l'aide de gcloud
, cliquez ici.
Supprimer un profil de connexion et l'instance AlloyDB associée
L'exemple suivant montre une requête de suppression d'un profil de connexion de destination, ainsi que la suppression en cascade de l'instance AlloyDB associée.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- region : région du projet
- connection-profile-id: ID du profil de connexion
Méthode HTTP et URL :
DELETE https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles/connection-profile-id ?force=true
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles/connection-profile-id ?force=true"
PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles/connection-profile-id ?force=true" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/project-id /locations/region /operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id /locations/region /connectionProfiles/connection-profile-id ", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Pour en savoir plus sur la suppression de votre profil de connexion et de l'instance AlloyDB associée à l'aide de gcloud
, cliquez ici.