Aggiorna i metadati dello snapshot della tabella
Questo documento descrive come aggiornare la descrizione, la data di scadenza o
la policy di accesso per uno snapshot
di una 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) 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 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 tabella |
Limitazioni
Puoi aggiornare i metadati di uno snapshot della tabella, ma non i dati perché i dati dello snapshot della tabella sono di sola lettura. Per aggiornare i dati di uno snapshot della tabella, devi prima ripristinare lo snapshot della tabella in una tabella standard e poi aggiornare i dati della tabella standard. Per saperne di più, consulta Ripristino degli snapshot delle tabelle.
Aggiorna i metadati di uno snapshot della tabella
Puoi modificare la descrizione, la scadenza e i criteri di accesso di uno snapshot della tabella nello stesso modo in cui modifichi i metadati di una tabella standard. Alcuni esempi sono forniti nelle sezioni seguenti.
Aggiornare la descrizione
Puoi modificare la descrizione di uno snapshot della tabella utilizzando una delle seguenti opzioni:
Console
Nella console Google Cloud , vai alla pagina BigQuery.
Nel riquadro a sinistra, fai clic su
Explorer:Se non vedi il riquadro a sinistra, fai clic su
Espandi riquadro a sinistra per aprirlo.Nel riquadro Explorer, 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, quindi fai clic sul nome dello snapshot della tabella da 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
Inserisci il seguente 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
metodo tables.patch
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
.
Aggiorna la scadenza
Puoi modificare la scadenza di uno snapshot della tabella utilizzando una delle seguenti opzioni:
Console
Nella console Google Cloud , vai alla pagina BigQuery.
Nel riquadro a sinistra, fai clic su
Explorer:Nel riquadro Explorer, 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, quindi fai clic sul nome dello snapshot della tabella da aggiornare.
Vai alla scheda Dettagli e poi fai clic su Modifica dettagli.
Nel campo Ora di scadenza, inserisci la nuova 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 che separano l'ora attuale dall'ora di 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
metodo tables.patch
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 lo snapshot scade, 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 un'istantanea della tabella utilizzando una delle seguenti opzioni:
Console
Nella console Google Cloud , vai alla pagina BigQuery.
Nel riquadro a sinistra, fai clic su
Explorer:Nel riquadro Explorer, 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, quindi fai clic sul nome dello snapshot della tabella che vuoi condividere.
Nel riquadro dello snapshot visualizzato, fai clic su Condividi, poi su Aggiungi entità.
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, poi 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
: 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
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 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 della tabella in un set di dati.
- Visualizza i metadati di un'istantanea della tabella.
- Elimina uno snapshot della tabella.