Visualizzare i metadati degli snapshot delle tabelle

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

Autorizzazioni e ruoli

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

Autorizzazioni

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

Ruolo 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 una tabella

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

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

Puoi visualizzare i metadati di uno snapshot di una tabella 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 poi sul set di dati che contiene lo snapshot della tabella.

  4. Fai clic su Panoramica > Tabelle e poi sul nome dello snapshot della tabella.

  5. Nel riquadro dello snapshot visualizzato, puoi eseguire le seguenti operazioni:

    • Fai clic sulla scheda Schema per visualizzare lo schema e i tag di policy 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 di uno snapshot di una tabella, esegui una query sulla INFORMATION_SCHEMA.TABLE_SNAPSHOTS vista:

  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
    WHERE
      table_name = 'SNAPSHOT_NAME';

    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.

  3. Fai clic su Esegui.

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

bq

Esegui questo 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 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.

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 tables.get metodo 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.

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