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 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 gcloud CLI in questa pagina si basano sulle seguenti ipotesi:
- Hai già configurato gcloud CLI per l'utilizzo con Spanner. Se non hai mai utilizzato Google Cloud CLI con Spanner, consulta Guida introduttiva a Spanner con Google Cloud CLI.
Hai configurato Google Cloud CLI con il tuo progetto. Ad esempio:
gcloud config set core/project PROJECT_ID
Hai un'istanza denominata
test-instance
e un database denominatoexample-db
.
-
Per ottenere le autorizzazioni necessarie per ripristinare un database da un backup, chiedi all'amministratore di concederti il ruolo IAM Cloud Spanner Restore Admin (
roles/spanner.restoreAdmin
) nell'istanza.
Ripristinare un database da un backup
Console
Vai alla pagina Istanze Spanner nella console Google Cloud .
Fai clic sull'istanza contenente il database per aprire la pagina Panoramica.
Fai clic sul database per aprire la relativa 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 la sezione Annullare un'operazione di istanza a lunga esecuzione.
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-encryption
Note 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_type
sonoUSE_DATABASE_ENCRYPTION
,GOOGLE_DEFAULT_ENCRYPTION
oCUSTOMER_MANAGED_ENCRYPTION
. Se utilizziCUSTOMER_MANAGED_ENCRYPTION
, devi specificare unkmsKeyName
.
Librerie client
Il seguente esempio di codice ripristina un database da un determinato backup 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