Cette page décrit les opérations de restauration Spanner et explique comment restaurer une base de données. Pour en savoir plus sur la restauration de bases de données dans Spanner, consultez la section Présentation de la restauration.
Vous pouvez restaurer une base de données Spanner à l'aide des éléments suivants:
- Dans la console Google Cloud.
- à l'aide de la Google Cloud CLI ;
- Utiliser les bibliothèques clientes
- À l'aide des API REST ou RPC
Avant de commencer
Les exemples de CLI gcloud présentés sur cette page partent des principes suivants:
- Vous avez déjà configuré la CLI gcloud pour une utilisation avec Spanner. Si vous débutez avec Google Cloud CLI avec Spanner, consultez Premiers pas avec Spanner à l'aide de Google Cloud CLI.
Vous avez configuré Google Cloud CLI avec votre projet. Exemple :
gcloud config set core/project PROJECT_ID
Vous disposez d'une instance nommée
test-instance
et d'une base de données nomméeexample-db
.
-
Pour obtenir les autorisations nécessaires pour restaurer une base de données à partir d'une sauvegarde, demandez à votre administrateur de vous accorder le rôle IAM Administrateur de restauration Cloud Spanner (
roles/spanner.restoreAdmin
) sur l'instance.
Restaurer une base de données à partir d'une sauvegarde
Console
Accédez à la page "Instances Spanner" dans la console Google Cloud.
Cliquez sur l'instance contenant la base de données pour ouvrir la page Présentation correspondante.
Cliquez sur la base de données pour ouvrir la page Présentation correspondante.
Dans le volet de navigation, cliquez sur Sauvegarder/Restaurer.
Cliquez sur le bouton Actions de la sauvegarde sélectionnée, puis sélectionnez Restaurer.
Remplissez le formulaire et cliquez sur le bouton Restaurer.
Pour vérifier la progression de l'opération, consultez l'indicateur de progression, comme indiqué sur la page des opérations:
Si l'opération prend trop de temps, vous pouvez l'annuler. Pour en savoir plus, consultez la section Annuler une opération d'instance de longue durée.
gcloud
Pour restaurer une base de données, utilisez gcloud spanner databases restore
:
gcloud spanner databases restore --async \
--destination-instance=test-instance --destination-database=example-db-restored \
--source-instance=test-instance --source-backup=example-db-backup-6 \
--encryption_type=google-managed-encryption
Remarques concernant l'utilisation :
- La commande répond immédiatement en raison de l'option
--async
. Sans l'option, la commande attend la fin de l'opération de restauration. - Si les instances source et de destination sont différentes, elles doivent avoir la même configuration d'instance.
- Si la base de données de destination existe déjà, l'opération échouera.
- Les valeurs possibles pour
encryption_type
sontUSE_DATABASE_ENCRYPTION
,GOOGLE_DEFAULT_ENCRYPTION
ouCUSTOMER_MANAGED_ENCRYPTION
. Si vous utilisezCUSTOMER_MANAGED_ENCRYPTION
, vous devez spécifier unkmsKeyName
.
Bibliothèques clientes
L'exemple de code suivant restaure une base de données à partir d'une sauvegarde donnée et attend la fin de l'opération de restauration (opération avec RestoreDatabaseMetadata
). La base de données restaurée est créée dans la même instance que la sauvegarde. Une fois l'opération terminée, l'exemple extrait et imprime des informations de restauration à partir de la base de données.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby