Aggiornare i metadati degli snapshot delle tabelle
Questo documento descrive come aggiornare la descrizione, la data di scadenza o il criterio di accesso di uno snapshot di tabella utilizzando la console Google Cloud, il comando bq update
o l'API tables.patch
.
È destinato agli utenti che hanno familiarità con le tabelle e gli snapshot delle tabelle in BigQuery.
Autorizzazioni e ruoli
Questa sezione descrive le autorizzazioni Identity and Access Management (IAM) di cui hai bisogno per aggiornare i metadati di uno snapshot di tabella e i ruoli IAM predefiniti che concedono queste autorizzazioni.
Autorizzazioni
Per aggiornare i metadati di uno snapshot di tabella, devi disporre della seguente autorizzazione:
Autorizzazione | Risorsa |
---|---|
bigquery.tables.update
|
Lo snapshot della tabella |
Ruoli
I ruoli BigQuery predefiniti che forniscono l'autorizzazione richiesta sono i seguenti:
Role | Risorsa |
---|---|
Uno dei seguenti:bigquery.dataEditor bigquery.dataOwner biguqery.admin
|
Lo snapshot della tabella |
Limitazioni
Puoi aggiornare i metadati di uno snapshot della tabella, ma non puoi aggiornarne i dati perché i dati dello snapshot della tabella sono di sola lettura. Per aggiornare i dati di uno snapshot della tabella, devi prima ripristinarlo in una tabella standard e poi aggiornare i dati della tabella standard. Per ulteriori informazioni, consulta Ripristino degli snapshot delle tabelle.
Aggiornare i metadati di uno snapshot della tabella
Puoi modificare la descrizione, la scadenza e i criteri di accesso di uno snapshot di tabella nello stesso modo in cui modifichi i metadati di una tabella standard. Alcuni esempi sono riportati nelle sezioni seguenti.
Aggiorna la descrizione
Puoi modificare la descrizione di un'istantanea della 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 dello snapshot della tabella che vuoi aggiornare.
Fai clic sul nome dell'istantanea della tabella.
Nel riquadro dello snapshot visualizzato, fai clic sulla scheda Dettagli e poi su Modifica dettagli.
Nel campo Descrizione, aggiungi o aggiorna la descrizione dell'istantanea della tabella.
Fai clic su Salva.
bq
Inserisci il seguente comando in Cloud Shell:
bq update \ --description="DESCRIPTION" \ PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME
Sostituisci quanto segue:
DESCRIPTION
: il testo che descrive lo snapshot. Ad esempio,Snapshot after table schema change X.
.PROJECT_ID
: l'ID del progetto che contiene lo snapshot.DATASET_NAME
: il nome del set di dati che contiene lo snapshot.SNAPSHOT_NAME
: il nome dello snapshot.
API
Chiama il metodo
tables.patch
con i seguenti parametri:
Parametro | Valore |
---|---|
projectId |
L'ID del progetto contenente lo snapshot. |
datasetId |
Il nome del set di dati contenente lo snapshot. |
tableId |
Il nome dello snapshot. |
Campo description del corpo della richiesta |
Testo che descrive l'istantanea. Ad esempio, Snapshot after table schema change X . |
Preferisci il metodo tables.patch
rispetto al metodo tables.update
perché il metodo tables.update
sostituisce l'intera risorsa Table
.
Aggiorna la scadenza
Puoi modificare la scadenza di uno snapshot di 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 dello snapshot della tabella che vuoi aggiornare.
Fai clic sul nome dell'istantanea della tabella.
Nel riquadro dello snapshot visualizzato, fai clic sulla scheda Dettagli e poi su Modifica dettagli.
Nel campo Data e ora di scadenza, inserisci la nuova data e ora di scadenza per lo snapshot della tabella.
Fai clic su Salva.
bq
Inserisci il seguente comando in Cloud Shell:
bq update \ --expiration=EXPIRATION_TIME \ PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME
Sostituisci quanto segue:
EXPIRATION_TIME
: il numero di secondi dall'ora corrente all'ora di scadenza.PROJECT_ID
: l'ID del progetto che contiene lo snapshot.DATASET_NAME
: il nome del set di dati che contiene lo snapshot.SNAPSHOT_NAME
: il nome dello snapshot.
API
Chiama il metodo
tables.patch
con i seguenti parametri:
Parametro | Valore |
---|---|
projectId |
L'ID del progetto contenente lo snapshot. |
datasetId |
Il nome del set di dati contenente lo snapshot. |
tableId |
Il nome dello snapshot. |
Campo expirationTime del corpo della richiesta |
La data e l'ora di scadenza dello snapshot in millisecondi dall'epoca. |
Preferisci il metodo tables.patch
rispetto al metodo tables.update
perché il metodo tables.update
sostituisce l'intera risorsa Table
.
Aggiorna accesso
Puoi concedere a un utente l'accesso per visualizzare i dati in un'istantanea della 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 dello snapshot della tabella che vuoi aggiornare.
Fai clic sul nome dell'istantanea della tabella.
Nel riquadro dello snapshot visualizzato, fai clic su Condividi e poi su Aggiungi principale.
Nel riquadro Aggiungi entità visualizzato, inserisci l'identificatore dell'entità a cui vuoi concedere l'accesso allo snapshot della tabella.
Nel menu a discesa Seleziona un ruolo, scegli BigQuery, quindi Visualizzatore dati BigQuery.
Fai clic su Salva.
bq
Inserisci il seguente comando in Cloud Shell:
bq add-iam-policy-binding \ --member="user:PRINCIPAL" \ --role="roles/bigquery.dataViewer" \ PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME
Sostituisci quanto segue:
PRINCIPAL
: il principale a cui vuoi concedere l'accesso allo snapshot della tabella.PROJECT_ID
: l'ID del progetto che contiene lo snapshot.DATASET_NAME
: il nome del set di dati che contiene lo snapshot.SNAPSHOT_NAME
: il nome dello snapshot.
API
Chiama il metodo
tables.setIamPolicy
con i seguenti parametri:
Parametro | Valore |
---|---|
Resource |
projects/PROJECT_ID/datasets/DATASET_NAME/tables/SNAPSHOT_NAME |
Corpo della richiesta | { "policy": { "bindings": [ { "members": [ "user:PRINCIPAL" ], "role": "roles/bigquery.dataViewer" } ] } } |
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto che contiene lo snapshot.DATASET_NAME
: il nome del set di dati che contiene lo snapshot.SNAPSHOT_NAME
: il nome dello snapshot.PRINCIPAL
: il principale a cui vuoi concedere l'accesso allo snapshot della tabella.
Passaggi successivi
- Elenca gli snapshot delle tabelle in un set di dati.
- Visualizza i metadati di un'istantanea della tabella.
- Elimina uno snapshot della tabella.