Aggiornamento dei metadati degli snapshot delle tabelle
Questo documento descrive come aggiornare la descrizione, la data di scadenza o
la policy di accesso per uno snapshot della tabella
utilizzando la Google Cloud console, il bq update
comando o l'
tables.patch API.
È destinato agli utenti che hanno familiarità con
le tabelle e
gli snapshot delle tabelle in BigQuery.
Autorizzazioni e ruoli
Questa sezione descrive le autorizzazioni di Identity and Access Management (IAM) necessarie per aggiornare i metadati di uno snapshot della tabella e i ruoli IAM predefiniti che concedono queste autorizzazioni.
Autorizzazioni
Per aggiornare i metadati di uno snapshot della 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:
| Ruolo | Risorsa |
|---|---|
Uno dei seguenti:bigquery.dataEditorbigquery.dataOwnerbiguqery.admin
|
Lo snapshot della tabella |
Limitazioni
Puoi aggiornare i metadati di uno snapshot della tabella, ma non puoi aggiornarne i dati perché i dati degli snapshot delle tabelle sono di sola lettura. Per aggiornare i dati di uno snapshot della tabella, devi prima ripristinare lo snapshot della tabella in una tabella standard, quindi aggiornare i dati della tabella standard. Per ulteriori informazioni, vedi Ripristinare gli snapshot delle tabelle.
Aggiornare i metadati di uno snapshot della tabella
Puoi modificare la descrizione, la scadenza e le policy di accesso di uno snapshot della tabella nello stesso modo in cui modifichi i metadati di una tabella standard. Nelle sezioni seguenti sono riportati alcuni esempi.
Aggiornare la descrizione
Puoi modificare la descrizione di uno snapshot della tabella utilizzando una delle seguenti opzioni:
Console
Nella Google Cloud console, vai alla pagina BigQuery.
Nel riquadro a sinistra, fai clic su Spazio di esplorazione:

Se non vedi il riquadro a sinistra, fai clic su Espandi riquadro a sinistra per aprirlo.
Nel riquadro Spazio di esplorazione , espandi il progetto, fai clic su Set di dati e poi sul set di dati che contiene lo snapshot della tabella.
Fai clic su Panoramica > Tabelle e poi sul nome dello snapshot della tabella che vuoi aggiornare.
Vai alla scheda Dettagli e poi fai clic su Modifica dettagli.
Nel campo Descrizione, aggiungi o aggiorna la descrizione dello snapshot della tabella.
Fai clic su Salva.
bq
Esegui questo comando in Cloud Shell:
bq update \ --description="DESCRIPTION" \ PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME
Sostituisci quanto segue:
DESCRIPTION: testo che descrive lo snapshot. Ad esempio,Snapshot after table schema change X..PROJECT_ID: l'ID progetto 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
tables.patch
metodo con i seguenti parametri:
| Parametro | Valore |
|---|---|
projectId |
L'ID progetto del progetto che contiene lo snapshot. |
datasetId |
Il nome del set di dati che contiene lo snapshot. |
tableId |
Il nome dello snapshot. |
Campo description del corpo della richiesta |
Testo che descrive lo snapshot. Ad esempio, Snapshot after table schema change X. |
Preferisci il metodo tables.patch al metodo tables.update perché il metodo tables.update sostituisce l'intera risorsa Table.
Aggiornare la scadenza
Puoi modificare la scadenza di uno snapshot della tabella utilizzando una delle seguenti opzioni:
Console
Nella Google Cloud console, vai alla pagina BigQuery.
Nel riquadro a sinistra, fai clic su Spazio di esplorazione:

Nel riquadro Spazio di esplorazione , espandi il progetto, fai clic su Set di dati e poi sul set di dati che contiene lo snapshot della tabella.
Fai clic su Panoramica > Tabelle e poi sul nome dello snapshot della tabella che vuoi aggiornare.
Vai alla scheda Dettagli e poi fai clic su Modifica dettagli.
Nel campo Scadenza, inserisci la nuova scadenza per lo snapshot della tabella.
Fai clic su Salva.
bq
Esegui questo comando in Cloud Shell:
bq update \ --expiration=EXPIRATION_TIME \ PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME
Sostituisci quanto segue:
EXPIRATION_TIME: il numero di secondi da l'ora corrente alla scadenza.PROJECT_ID: l'ID progetto 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
tables.patch
metodo con i seguenti parametri:
| Parametro | Valore |
|---|---|
projectId |
L'ID progetto del progetto che contiene lo snapshot. |
datasetId |
Il nome del set di dati che contiene lo snapshot. |
tableId |
Il nome dello snapshot. |
Campo expirationTime del corpo della richiesta |
L'ora in cui scade lo snapshot, in millisecondi dall'epoca. |
Preferisci il metodo tables.patch 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 uno snapshot della tabella utilizzando una delle seguenti opzioni:
Console
Nella Google Cloud console, vai alla pagina BigQuery.
Nel riquadro a sinistra, fai clic su Spazio di esplorazione:

Nel riquadro Spazio di esplorazione , espandi il progetto, fai clic su Set di dati e poi sul set di dati che contiene lo snapshot della tabella.
Fai clic su Panoramica > Tabelle e poi sul nome dello snapshot della tabella che vuoi condividere.
Nel riquadro dello snapshot che viene visualizzato, fai clic su Condividi e poi su Aggiungi entità.
Nel riquadro Aggiungi entità che viene 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 e poi Visualizzatore dati BigQuery.
Fai clic su Salva.
bq
Esegui questo 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: l' entità a cui vuoi concedere l'accesso allo snapshot della tabella.PROJECT_ID: l'ID progetto 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
tables.setIamPolicy
metodo 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 progetto 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: l' entità 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 uno snapshot della tabella.
- Elimina uno snapshot della tabella.