Elenco degli snapshot delle tabelle

Questo documento descrive come ottenere un elenco degli snapshot delle tabelle in un set di dati BigQuery nella Google Cloud console, eseguendo una query sulla INFORMATION_SCHEMA.TABLE_SNAPSHOTS tabella, utilizzando il bq ls comando o chiamando l'tables.list API. Descrive anche come elencare tutti gli snapshot delle tabelle di una tabella di base specificata eseguendo una query sulla tabella INFORMATION_SCHEMA.TABLE_SNAPSHOTS. Questo documento è destinato agli utenti che hanno familiarità con BigQuery tabelle e snapshot delle tabelle.

Autorizzazioni e ruoli

Questa sezione descrive le autorizzazioni di Identity and Access Management (IAM) necessarie per elencare gli snapshot delle tabelle in un set di dati e i ruoli IAM predefiniti che concedono queste autorizzazioni. Le autorizzazioni e i ruoli per l'elenco degli snapshot delle tabelle sono gli stessi richiesti per l'elenco di altri tipi di tabelle.

Autorizzazioni

Per elencare gli snapshot delle tabelle in un set di dati, devi disporre della seguente autorizzazione:

Autorizzazione Risorsa
bigquery.tables.list Il set di dati che contiene gli snapshot delle tabelle.

Ruoli

I ruoli BigQuery predefiniti che forniscono l'autorizzazione richiesta sono i seguenti:

Ruolo Risorsa
Uno dei seguenti:

bigquery.dataUser
bigquery.dataViewer
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
Il set di dati che contiene gli snapshot delle tabelle.

Elenco degli snapshot delle tabelle in un set di dati

Ottenere un elenco degli snapshot delle tabelle in un set di dati è simile all'elenco di altri tipi di tabelle. Gli snapshot delle tabelle hanno il tipo SNAPSHOT.

Puoi elencare gli snapshot delle tabelle utilizzando una delle seguenti opzioni:

Console

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

    Vai a BigQuery

  2. Nel riquadro a sinistra, fai clic su Spazio di esplorazione:

    Pulsante evidenziato per il riquadro Spazio di esplorazione.

    Se non vedi il riquadro a sinistra, fai clic su Espandi riquadro a sinistra per aprirlo.

  3. Nel riquadro Spazio di esplorazione, espandi il progetto, fai clic su Set di dati e quindi seleziona il set di dati che contiene gli snapshot delle tabelle che vuoi elencare.

  4. Fai clic su Panoramica > Tabelle. Per trovare gli snapshot nell'elenco, cerca il valore SNAPSHOT nella colonna Tipo.

SQL

Esegui una query sulla INFORMATION_SCHEMA.TABLE_SNAPSHOTS visualizzazione:

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

    Vai a BigQuery

  2. Nell'editor di query, inserisci la seguente istruzione:

    SELECT
      *
    FROM
      PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS;

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto del progetto che contiene gli snapshot che vuoi elencare.
    • DATASET_NAME: il nome del set di dati che contiene gli snapshot che vuoi elencare.

  3. Fai clic su Esegui.

Per saperne di più su come eseguire le query, consulta Eseguire una query interattiva.

Il risultato è simile al seguente:

+---------------+----------------+------------------+--------------------+-------------------+-----------------+-----------------------------+
| table_catalog | table_schema   | table_name       | base_table_catalog | base_table_schema | base_table_name | snapshot_time               |
+---------------+----------------+------------------+--------------------+-------------------+-----------------+-----------------------------+
| myproject     | mydataset      | mysnapshot       | basetableproject   | basetabledataset           | basetable           | 2021-04-16 14:05:27.519 UTC |
+---------------+----------------+------------------+--------------------+-------------------+-----------------+-----------------------------+

bq

Inserisci il seguente comando in Cloud Shell:

Vai a Cloud Shell

bq ls \
PROJECT_ID:DATASET_NAME

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto del progetto che contiene gli snapshot che vuoi elencare.
  • DATASET_NAME: il nome del set di dati che contiene gli snapshot che vuoi elencare.

L'output è simile al seguente:

+-------------------------+--------+---------------------+-------------------+
|         tableId         |  Type  |       Labels        | Time Partitioning |
+-------------------------+--------+---------------------+-------------------+
| mysnapshot              |SNAPSHOT|                     |                   |
+-------------------------+--------+---------------------+-------------------+

API

Chiama il tables.list metodo con i seguenti parametri:

Parametro Valore
projectId L'ID progetto del progetto che contiene gli snapshot che vuoi elencare.
datasetId Il nome del set di dati che contiene gli snapshot che vuoi elencare.

Elenco degli snapshot delle tabelle di una tabella di base specificata

Puoi elencare gli snapshot delle tabelle di una tabella di base specificata eseguendo una query sulla visualizzazione INFORMATION_SCHEMA.TABLE_SNAPSHOTS:

SELECT
  *
FROM
  PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS
WHERE
  base_table_name = 'books';
  

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto del progetto che contiene gli snapshot che vuoi elencare.
  • DATASET_NAME: il nome del set di dati che contiene gli snapshot che vuoi elencare.

Passaggi successivi