Ripristina snapshot delle tabelle
Questo documento descrive come creare una tabella scrivibile da un
uno snapshot di una tabella utilizzando la console Google Cloud, una query CREATE TABLE CLONE
,
bq cp
o l'API jobs.insert
.
È destinata agli utenti che hanno familiarità con
snapshot delle tabelle.
Autorizzazioni e ruoli
Questa sezione descrive le Autorizzazioni IAM (Identity and Access Management) di cui hai bisogno per creare una tabella scrivibile da uno snapshot della tabella ruoli IAM predefiniti che concedono queste autorizzazioni.
Autorizzazioni
Per creare una tabella scrivibile da uno snapshot di tabella, è necessario quanto segue autorizzazioni:
Autorizzazione | Risorsa |
---|---|
Tutte le seguenti caratteristiche:bigquery.tables.get bigquery.tables.getData bigquery.tables.restoreSnapshot |
Lo snapshot della tabella che vuoi copiare in una tabella scrivibile. |
bigquery.tables.create
|
Il set di dati che contiene la tabella di destinazione. |
Ruoli
I ruoli BigQuery predefiniti che forniscono autorizzazioni sono le seguenti:
Role | Risorsa |
---|---|
Uno dei seguenti:bigquery.dataEditor bigquery.dataOwner bigquery.admin
|
Lo snapshot della tabella che vuoi copiare in una tabella scrivibile. |
Uno dei seguenti:bigquery.dataEditor bigquery.dataOwner bigquery.admin
|
Il set di dati che contiene la tabella di destinazione. |
Ripristina uno snapshot della tabella
Per creare una tabella scrivibile da uno snapshot, specifica lo snapshot della tabella di cui che si desidera copiare e la tabella di destinazione. La tabella di destinazione può essere una nuova oppure sovrascrivere una tabella esistente con lo snapshot della tabella.
Ripristina in una nuova tabella
Puoi ripristinare uno snapshot di tabella in una nuova tabella utilizzando una delle seguenti opzioni:
Console
Nella console Google Cloud, vai alla pagina BigQuery.
Nel riquadro Explorer, espandi i nodi del progetto e del set di dati lo snapshot della tabella da cui vuoi eseguire il ripristino.
Fai clic sul nome dello snapshot della tabella.
Nel riquadro dell'istantanea tabella che viene visualizzato, fai clic su Ripristina.
Nel riquadro Ripristina snapshot visualizzato, inserisci il progetto. Set di dati e Tabella per la nuova tabella.
Fai clic su Salva.
SQL
Utilizza la
CREATE TABLE CLONE
Istruzione DDL:
Nella console Google Cloud, vai alla pagina BigQuery.
Nell'editor query, inserisci la seguente istruzione:
CREATE TABLE TABLE_PROJECT_ID.TABLE_DATASET_NAME.NEW_TABLE_NAME CLONE SNAPSHOT_PROJECT_ID.SNAPSHOT_DATASET_NAME.SNAPSHOT_NAME;
Sostituisci quanto segue:
TABLE_PROJECT_ID
: l'ID progetto del progetto in cui creare la nuova tabella.TABLE_DATASET_NAME
: nome del set di dati in cui creare la nuova tabella.NEW_TABLE_NAME
: il nome del nuovo tabella.SNAPSHOT_PROJECT_ID
: l'ID progetto del contenente lo snapshot da cui stai eseguendo il ripristino.SNAPSHOT_DATASET_NAME
: nome del set di dati che contiene lo snapshot da cui stai eseguendo il ripristino.SNAPSHOT_NAME
: il nome dello snapshot da cui stai eseguendo il ripristino.
Fai clic su
Esegui.
Per ulteriori informazioni su come eseguire le query, vedi Eseguire una query interattiva.
bq
Inserisci questo comando in Cloud Shell:
bq cp \ --restore \ --no_clobber \ SNAPSHOT_PROJECT_ID:SNAPSHOT_DATASET_NAME.SNAPSHOT_NAME \ TABLE_PROJECT_ID:TABLE_DATASET_NAME.NEW_TABLE_NAME
Sostituisci quanto segue:
SNAPSHOT_PROJECT_ID
: l'ID progetto del contenente lo snapshot da cui stai eseguendo il ripristino.SNAPSHOT_DATASET_NAME
: nome del set di dati che contiene lo snapshot da cui stai eseguendo il ripristino.SNAPSHOT_NAME
: il nome dello snapshot da cui stai eseguendo il ripristino.TABLE_PROJECT_ID
: l'ID progetto del progetto in cui creare la nuova tabella.TABLE_DATASET_NAME
: nome del set di dati in cui creare la nuova tabella.NEW_TABLE_NAME
: il nome della nuova tabella.
Il flag --no_clobber
indica che il comando non riesce se la tabella di destinazione
esiste già.
API
Chiama il
jobs.insert
con i seguenti parametri:
Parametro | Valore |
---|---|
projectId |
L'ID del progetto da fatturare per questa operazione. |
Corpo della richiesta | { "configuration": { "copy": { "sourceTables": [ { "projectId": "SNAPSHOT_PROJECT_ID", "datasetId": "SNAPSHOT_DATASET_NAME", "tableId": "SNAPSHOT_NAME" } ], "destinationTable": { "projectId": "TABLE_PROJECT_ID", "datasetId": "TABLE_DATASET_NAME", "tableId": "NEW_TABLE_NAME" }, "operationType": "RESTORE", "writeDisposition": "WRITE_EMPTY" } } } |
Sostituisci quanto segue:
SNAPSHOT_PROJECT_ID
: l'ID progetto del contenente lo snapshot da cui stai eseguendo il ripristino.SNAPSHOT_DATASET_NAME
: nome del set di dati che contiene lo snapshot da cui stai eseguendo il ripristino.SNAPSHOT_NAME
: il nome dello snapshot da cui stai eseguendo il ripristino.TABLE_PROJECT_ID
: l'ID progetto del progetto in cui creare la nuova tabella.TABLE_DATASET_NAME
: nome del set di dati in cui creare la nuova tabella.NEW_TABLE_NAME
: il nome della nuova tabella.
Se non viene specificata una scadenza, la tabella di destinazione scade dopo il tag scadenza predefinita della tabella per il set di dati che contiene la destinazione tabella.
Sovrascrivi una tabella esistente
Puoi sovrascrivere una tabella esistente con uno snapshot della tabella utilizzando uno dei le seguenti opzioni:
Console
Nella console Google Cloud, vai alla pagina BigQuery.
Nel riquadro Explorer, espandi i nodi del progetto e del set di dati lo snapshot della tabella da cui vuoi eseguire il ripristino.
Fai clic sul nome dello snapshot della tabella.
Nel riquadro dell'istantanea tabella che viene visualizzato, fai clic su Ripristina.
Nel riquadro Ripristina snapshot visualizzato, inserisci il progetto. Informazioni su Set di dati e Tabella per la tabella esistente.
Seleziona Sovrascrivi tabella se esistente.
Fai clic su Salva.
SQL
Utilizza la
CREATE TABLE CLONE
Istruzione DDL:
Nella console Google Cloud, vai alla pagina BigQuery.
Nell'editor query, inserisci la seguente istruzione:
CREATE OR REPLACE TABLE TABLE_PROJECT_ID.TABLE_DATASET_NAME.TABLE_NAME CLONE SNAPSHOT_PROJECT_ID.SNAPSHOT_DATASET_NAME.SNAPSHOT_NAME;
Sostituisci quanto segue:
TABLE_PROJECT_ID
: l'ID progetto del progetto in cui creare la nuova tabella.TABLE_DATASET_NAME
: nome del set di dati che contiene la tabella da sovrascrivere.TABLE_NAME
: il nome della tabella che vengono sovrascritte.SNAPSHOT_PROJECT_ID
: l'ID progetto del contenente lo snapshot da cui stai eseguendo il ripristino.SNAPSHOT_DATASET_NAME
: nome del set di dati che contiene lo snapshot da cui stai eseguendo il ripristino.SNAPSHOT_NAME
: il nome dello snapshot da cui stai eseguendo il ripristino.
Fai clic su
Esegui.
Per ulteriori informazioni su come eseguire le query, vedi Eseguire una query interattiva.
bq
Inserisci questo comando in Cloud Shell:
bq cp \ --restore \ --force \ SNAPSHOT_PROJECT_ID:SNAPSHOT_DATASET_NAME.SNAPSHOT_NAME \ TABLE_PROJECT_ID:TABLE_DATASET_NAME.TABLE_NAME
Sostituisci quanto segue:
SNAPSHOT_PROJECT_ID
: l'ID progetto del contenente lo snapshot da cui stai eseguendo il ripristino.SNAPSHOT_DATASET_NAME
: nome del set di dati che contiene lo snapshot da cui stai eseguendo il ripristino.SNAPSHOT_NAME
: il nome dello snapshot da cui stai eseguendo il ripristino.TABLE_PROJECT_ID
: l'ID progetto del progetto in cui creare la nuova tabella.TABLE_DATASET_NAME
: nome del set di dati che contiene la tabella da sovrascrivere.TABLE_NAME
: il nome della tabella che vengono sovrascritte.
API
Chiama il
jobs.insert
con i seguenti parametri:
Parametro | Valore |
---|---|
projectId |
L'ID del progetto da fatturare per questa operazione. |
Corpo della richiesta | { "configuration": { "copy": { "sourceTables": [ { "projectId": "SNAPSHOT_PROJECT_ID", "datasetId": "SNAPSHOT_DATASET_NAME", "tableId": "SNAPSHOT_NAME" } ], "destinationTable": { "projectId": "TABLE_PROJECT_ID", "datasetId": "TABLE_DATASET_NAME", "tableId": "TABLE_NAME" }, "operationType": "RESTORE", "writeDisposition": "WRITE_TRUNCATE" } } } |
Sostituisci quanto segue:
SNAPSHOT_PROJECT_ID
: l'ID progetto del contenente lo snapshot da cui stai eseguendo il ripristino.SNAPSHOT_DATASET_NAME
: nome del set di dati che contiene lo snapshot da cui stai eseguendo il ripristino.SNAPSHOT_NAME
: il nome dello snapshot da cui stai eseguendo il ripristino.TABLE_PROJECT_ID
: l'ID progetto del progetto in cui creare la nuova tabella.TABLE_DATASET_NAME
: nome del set di dati che contiene la tabella da sovrascrivere.TABLE_NAME
: il nome della tabella che vengono sovrascritte.
Se non viene specificata una scadenza, la tabella di destinazione scade dopo il tag scadenza predefinita della tabella per il set di dati che contiene la destinazione tabella.