Questa pagina descrive le operazioni di ripristino di Spanner e spiega come ripristinare un database. Per saperne di più sul ripristino del database in Spanner, consulta la Panoramica del ripristino.
Puoi ripristinare un database Spanner utilizzando quanto segue:
- Nella console Google Cloud .
- Utilizzo di Google Cloud CLI.
- Utilizzo delle librerie client.
- Utilizzo delle API REST o RPC.
Prima di iniziare
Gli esempi di gcloud CLI in questa pagina si basano sui seguenti presupposti:
- Hai già configurato gcloud CLI per l'utilizzo con Spanner. Se non hai mai utilizzato Google Cloud CLI con Spanner, consulta la sezione Inizia a utilizzare Spanner con Google Cloud CLI.
- Hai configurato Google Cloud CLI con il tuo progetto. Ad esempio:
gcloud config set core/project PROJECT_ID
* You have an instance named `test-instance` and a database named `example-db`.-
Per ottenere le autorizzazioni necessarie per ripristinare un database da un backup, chiedi all'amministratore di concederti i seguenti ruoli IAM sull'istanza:
-
Tutti:
Cloud Spanner Restore Admin (
roles/spanner.restoreAdmin)
-
Tutti:
Cloud Spanner Restore Admin (
Ripristinare un database da un backup
Console
- Vai alla pagina Istanze Spanner nella consoleGoogle Cloud .
Vai alla pagina Istanze Spanner
Fai clic sull'istanza contenente il database per aprire la pagina Panoramica.
Fai clic sul database per aprire la pagina Panoramica.
Nel riquadro di navigazione, fai clic su Backup/Restore.
Fai clic sul pulsante Azioni per il backup selezionato, poi seleziona Ripristina.
Compila il modulo e fai clic sul pulsante Ripristina.
Per controllare l'avanzamento dell'operazione, consulta l'indicatore di avanzamento, come mostrato nella pagina delle operazioni:
Se l'operazione richiede troppo tempo, puoi annullarla. Per saperne di più, consulta Annullare un'operazione a lunga esecuzione dell'istanza.
gcloud
Per ripristinare un database, utilizza 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-encryptionNote sull'utilizzo:
- Il comando viene restituito immediatamente a causa del flag
--async. Senza il flag, il comando attenderà il completamento dell'operazione di ripristino. - Se le istanze di origine e di destinazione sono diverse, devono avere la stessa configurazione dell'istanza.
- Se il database di destinazione esiste già, l'operazione non andrà a buon fine.
- I valori possibili per
encryption_typesonoUSE_DATABASE_ENCRYPTION,GOOGLE_DEFAULT_ENCRYPTIONoCUSTOMER_MANAGED_ENCRYPTION. Se utilizziCUSTOMER_MANAGED_ENCRYPTION, devi specificare unkmsKeyName.
Librerie client
Il seguente esempio di codice ripristina un database da un
backup specificato e attende il completamento dell'operazione di ripristino (un'operazione con
RestoreDatabaseMetadata). Il database ripristinato viene creato nella stessa istanza del
backup. Al termine, l'esempio recupera e stampa alcune informazioni di ripristino dal database.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby