Visualizzare i metadati dell'istantanea della tabella

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

Autorizzazioni e ruoli

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

Autorizzazioni

Per visualizzare i metadati di uno snapshot di 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

Recuperare i metadati di uno snapshot di tabella

I metadati di uno snapshot di tabella sono simili a quelli di 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 di un'istantanea 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 esaminare.

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

  4. Nel riquadro istantanea visualizzato, puoi:

    • Fai clic sulla scheda Schema per visualizzare lo schema e i tag delle norme dell'istantanea 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 di un'istantanea della tabella, esegui una query sulla visualizzazione INFORMATION_SCHEMA.TABLE_SNAPSHOTS:

  1. Nella console Google Cloud, 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
    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 ulteriori informazioni su come eseguire query, consulta Eseguire una query interattiva.

bq

Inserisci il seguente comando 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 contenente lo snapshot.
datasetId Il nome del set di dati contenente 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