Visualizza i metadati degli snapshot delle tabelle

Questo documento descrive come visualizzare i metadati per uno snapshot di una tabella BigQuery nella console Google Cloud, eseguendo una query sulla vista TABLE_SNAPSHOTS della tabella INFORMATION_SCHEMA, utilizzando il comando bq show o chiamando l'API tables.get. È destinato agli utenti che hanno familiarità con le tabelle e gli snapshot di tabelle di BigQuery.

Autorizzazioni e ruoli

Questa sezione descrive l'autorizzazione IAM (Identity and Access Management) necessaria per visualizzare i metadati per uno snapshot della tabella e i ruoli IAM predefiniti che concedono queste autorizzazioni.

Autorizzazioni

Per visualizzare i metadati di uno snapshot della tabella, devi disporre della seguente autorizzazione:

Autorizzazione Risorsa
bigquery.tables.get Lo snapshot della tabella

Ruoli

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

Role Risorsa
Uno dei seguenti:

bigquery.metadataViewer
bigquery.dataViewer
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
Lo snapshot della tabella

Recupero dei metadati di uno snapshot di tabella

I metadati per uno snapshot di tabella sono simili a quelli per una tabella standard, con le seguenti differenze:

  • Un campo baseTableReference aggiuntivo identifica la tabella di base da cui è stato acquisito lo snapshot.
  • Il campo type ha il valore SNAPSHOT.

Puoi visualizzare i metadati per uno snapshot 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 visualizzare.

  3. Fai clic sul nome dello snapshot della tabella.

  4. Nel riquadro di snapshot visualizzato, puoi effettuare le seguenti operazioni:

    • Fai clic sulla scheda Schema per visualizzare i tag di criteri e di schema dello snapshot della tabella.

    • Fai clic sulla tabella Dettagli per visualizzare le dimensioni, la scadenza, la tabella di base, l'ora dello snapshot e altre informazioni dello snapshot della tabella.

SQL

Per visualizzare i metadati per uno snapshot della tabella, esegui una query sulla vista INFORMATION_SCHEMA.TABLE_SNAPSHOTS:

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

    Vai a BigQuery

  2. Nell'Editor query, inserisci la seguente istruzione:

    SELECT
      *
    FROM
      PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS
    WHERE
      table_name = 'SNAPSHOT_NAME';
    

    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.

  3. Fai clic su Esegui.

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

bq

Inserisci il comando seguente in Cloud Shell:

Vai a Cloud Shell

bq show \
--format=prettyjson \
PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME

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.

L'output è simile al seguente:

{
  "creationTime": "1593194331936",
   ...
  "snapshotDefinition": {
    "baseTableReference": {
      "datasetId": "myDataset",
      "projectId": "myProject",
      "tableId": "mytable"
    },
    "snapshotTime": "2020-06-26T17:58:50.815Z"
  },
  "tableReference": {
    "datasetId": "otherDataset",
    "projectId": "myProject",
    "tableId": "mySnapshot"
  },
  "type": "SNAPSHOT"
}

API

Chiama il metodo tables.get con i seguenti parametri:

Parametro Valore
projectId L'ID del progetto che contiene lo snapshot.
datasetId Il nome del set di dati che contiene lo snapshot.
tableId Il nome dello snapshot.

Il corpo della risposta è simile al seguente:

{
  "kind": "bigquery#table",
  "etag": "...",
  "id": "myProject:myDataset.mySnapshot",
  "selfLink": "https://content-bigquery.googleapis.com/bigquery/v2/projects/myProject/datasets/myDataset/tables/mySnapshot",
  "tableReference": {
    "projectId": "myProject",
    "datasetId": "myDataset",
    "tableId": "mySnapshot"
  },
  "description": "...",
  "schema": {
    "fields": [
      ...
    ]
  },
  "numBytes": "637931",
  "numLongTermBytes": "0",
  "numRows": "33266",
  "creationTime": "1593194331936",
  "lastModifiedTime": "1593194331936",
  "type": "SNAPSHOT",
  "location": "US",
  "snapshotDefinition": {
    "baseTableReference": {
      "projectId": "myProject",
      "datasetId": "otherDataset",
      "tableId": "myTable"
    },
    "snapshotTime": "2020-06-26T17:58:50.815Z"
  }
}

Passaggi successivi