Metadaten eines Tabellen-Snapshots ansehen

In diesem Dokument wird beschrieben, wie Sie die Metadaten für einen BigQuery-Tabellen-Snapshot in der Google Cloud Console durch Abfragen der TABLE_SNAPSHOTS-Ansicht der Tabelle INFORMATION_SCHEMA mit dem bq show-Befehl oder durch Aufrufen der tables.get-API anzeigen lassen. Es richtet sich an Nutzer, die mit BigQuery-Tabellen und Tabellen-Snapshots vertraut sind.

Berechtigungen und Rollen

In diesem Abschnitt werden die IAM-Berechtigungen (Identity and Access Management) beschrieben, die Sie zum Abrufen der Metadaten für einen Tabellen-Snapshot benötigen, sowie die vordefinierten IAM-Rollen die diese Berechtigungen gewähren.

Berechtigungen

Sie benötigen die folgende Berechtigung, um die Metadaten eines Tabellen-Snapshots aufzurufen:

Berechtigung Ressource
bigquery.tables.get Der Tabellen-Snapshot

Rollen

Die folgenden vordefinierten BigQuery-Rollen bieten die erforderlichen Berechtigungen:

Rolle Ressource
Beliebige der Folgenden:

bigquery.metadataViewer
bigquery.dataViewer
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
Der Tabellen-Snapshot

Metadaten eines Tabellen-Snapshots aufrufen

Die Metadaten für einen Tabellen-Snapshot ähneln den Metadaten für eine Standardtabelle, mit den folgenden Unterschieden:

  • Ein zusätzliches baseTableReference-Feld identifiziert die Basistabelle, aus der der Snapshot erstellt wurde.
  • Das Feld type hat den Wert SNAPSHOT.

Sie können die Metadaten für einen Tabellen-Snapshot mit einer der folgenden Optionen aufrufen:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    BigQuery aufrufen

  2. Maximieren Sie im Bereich Explorer die Projekt- und Dataset-Knoten des Tabellen-Snapshots, den Sie ansehen möchten.

  3. Klicken Sie auf den Namen des Tabellen-Snapshots.

  4. Im angezeigten Snapshot-Bereich können Sie Folgendes tun:

    • Klicken Sie auf den Tab Schema, um die Schema- und Richtlinien-Tags des Tabellen-Snapshots aufzurufen.

    • Klicken Sie auf die Tabelle Details, um die Größe, den Ablauf, die Basistabelle, die Snapshot-Zeit und weitere Informationen zum Tabellen-Snapshot aufzurufen.

SQL

Fragen Sie die Ansicht INFORMATION_SCHEMA.TABLE_SNAPSHOTS ab, um die Metadaten für einen Tabellen-Snapshot aufzurufen:

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

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

    Dabei gilt:

    • PROJECT_ID: die ID des Projekts, das den Snapshot enthält.
    • DATASET_NAME: der Name des Datasets, das den Snapshot enthält.
    • SNAPSHOT_NAME: der Name des Snapshots.

  3. Klicken Sie auf Ausführen.

Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.

bq

Führen Sie dazu in Cloud Shell den folgenden Befehl aus.

Zu Cloud Shell

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

Dabei gilt:

  • PROJECT_ID: die ID des Projekts, das den Snapshot enthält.
  • DATASET_NAME: der Name des Datasets, das den Snapshot enthält.
  • SNAPSHOT_NAME: der Name des Snapshots.

Die Ausgabe sieht etwa so aus:

{
  "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

Rufen Sie die Methode tables.get mit den folgenden Parametern auf:

Parameter Wert
projectId Die Projekt-ID des Projekts, das den Snapshot enthält.
datasetId Der Name des Datasets, das den Snapshot enthält.
tableId Der Name des Snapshots.

Der Antworttext ähnelt dem folgenden Beispiel:

{
  "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"
  }
}

Nächste Schritte