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

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel riquadro Explorer, espandi i nodi del progetto e del set di dati dello snapshot della tabella che vuoi aggiornare.

  3. Fai clic sul nome dell'istantanea della tabella.

  4. Nel riquadro dello snapshot visualizzato, fai clic sulla scheda Dettagli e poi su Modifica dettagli.

  5. Nel campo Descrizione, aggiungi o aggiorna la descrizione dell'istantanea della tabella.

  6. Fai clic su Salva.

bq

Inserisci il seguente comando in Cloud Shell:

Vai a 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

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel riquadro Explorer, espandi i nodi del progetto e del set di dati dello snapshot della tabella che vuoi aggiornare.

  3. Fai clic sul nome dell'istantanea della tabella.

  4. Nel riquadro dello snapshot visualizzato, fai clic sulla scheda Dettagli e poi su Modifica dettagli.

  5. Nel campo Data e ora di scadenza, inserisci la nuova data e ora di scadenza per lo snapshot della tabella.

  6. Fai clic su Salva.

bq

Inserisci il seguente comando in Cloud Shell:

Vai a 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

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel riquadro Explorer, espandi i nodi del progetto e del set di dati dello snapshot della tabella che vuoi aggiornare.

  3. Fai clic sul nome dell'istantanea della tabella.

  4. Nel riquadro dello snapshot visualizzato, fai clic su Condividi e poi su Aggiungi principale.

  5. Nel riquadro Aggiungi entità visualizzato, inserisci l'identificatore dell'entità a cui vuoi concedere l'accesso allo snapshot della tabella.

  6. Nel menu a discesa Seleziona un ruolo, scegli BigQuery, quindi Visualizzatore dati BigQuery.

  7. Fai clic su Salva.

bq

Inserisci il seguente comando in Cloud Shell:

Vai a 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