Metadaten eines Tabellen-Snapshots aktualisieren

In diesem Dokument wird beschrieben, wie Sie die Beschreibung, das Ablaufdatum oder die Zugriffsrichtlinie für einen Tabellen-Snapshot mithilfe der Google Cloud Console, des bq update-Befehls oder der tables.patch API aktualisieren. Es richtet sich an Nutzer, die mit Tabellen und Tabellen-Snapshots in BigQuery vertraut sind.

Berechtigungen und Rollen

In diesem Abschnitt werden die IAM-Berechtigungen (Identity and Access Management) beschrieben, die Sie zum Aktualisieren 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 zu aktualisieren:

Berechtigung Ressource
bigquery.tables.update Der Tabellen-Snapshot

Rollen

Die folgenden vordefinierten BigQuery-Rollen bieten die erforderlichen Berechtigungen:

Rolle Ressource
Beliebige von Folgendem:

bigquery.dataEditor
bigquery.dataOwner
biguqery.admin
Der Tabellen-Snapshot

Beschränkungen

Sie können die Metadaten eines Tabellen-Snapshots aktualisieren, jedoch nicht die Daten, da die Daten eines Tabellen-Snapshots schreibgeschützt sind. Wenn Sie die Daten eines Tabellen-Snapshots aktualisieren möchten, müssen Sie zuerst den Tabellen-Snapshot in einer Standardtabelle wiederherstellen und dann die Daten der Standardtabelle aktualisieren. Weitere Informationen finden Sie unter Tabellen-Snapshots wiederherstellen.

Metadaten eines Tabellen-Snapshots aktualisieren

Sie können die Beschreibung, Ablaufzeit und Zugriffsrichtlinien eines Tabellen-Snapshots genauso ändern wie die Metadaten einer Standardtabelle. In den folgenden Abschnitten finden Sie einige Beispiele.

Beschreibung aktualisieren

Sie können die Beschreibung für einen Tabellen-Snapshot mit einer der folgenden Optionen ändern:

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 aktualisieren möchten.

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

  4. Klicken Sie im angezeigten Snapshot-Bereich auf den Tab Details und dann auf Details bearbeiten.

  5. Fügen Sie im Feld Beschreibung die Beschreibung für den Tabellen-Snapshot hinzu oder aktualisieren Sie diese.

  6. Klicken Sie auf Speichern.

bq

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

Zu Cloud Shell

bq update \
--description="DESCRIPTION" \
PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME

Dabei gilt:

  • DESCRIPTION: Text, der den Snapshot beschreibt. Beispiel: Snapshot after table schema change X..
  • 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.

API

Rufen Sie die Methode tables.patch 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.
Anfragetextfeld description Text, der den Snapshot beschreibt. Beispiel: Snapshot after table schema change X.

Ziehen Sie die Methode tables.patch gegenüber der Methode tables.update vor, da die Methode tables.update die gesamte Table-Ressource ersetzt.

Ablaufzeit aktualisieren

Sie haben folgende Möglichkeiten, die Ablaufzeit eines Tabellen-Snapshots zu ändern:

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 aktualisieren möchten.

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

  4. Klicken Sie im angezeigten Snapshot-Bereich auf den Tab Details und dann auf Details bearbeiten.

  5. Geben Sie im Feld Ablaufzeit die neue Ablaufzeit für den Tabellen-Snapshot ein.

  6. Klicken Sie auf Speichern.

bq

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

Zu Cloud Shell

bq update \
--expiration=EXPIRATION_TIME \
PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME

Dabei gilt:

  • EXPIRATION_TIME: die Anzahl der Sekunden zwischen der aktuellen Zeit und der Ablaufzeit.
  • 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.

API

Rufen Sie die Methode tables.patch 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.
Anfragetextfeld expirationTime Die Zeit, zu der der Snapshot abläuft, in Millisekunden seit der Epoche.

Ziehen Sie die Methode tables.patch gegenüber der Methode tables.update vor, da die Methode tables.update die gesamte Table-Ressource ersetzt.

Zugriff aktualisieren.

Mit einer der folgenden Optionen können Sie einem Nutzer Zugriff auf die Daten in einem Tabellen-Snapshot gewähren, um sie anzusehen:

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 aktualisieren möchten.

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

  4. Klicken Sie im angezeigten Bereich des Snapshots auf Freigeben und dann auf Hauptkonto hinzufügen.

  5. Geben Sie im angezeigten Bereich Hauptkonten hinzufügen die Kennzeichnung des Hauptkontos ein, dem Sie Zugriff auf den Tabellen-Snapshot gewähren möchten.

  6. Wählen Sie im Drop-down-Menü Rolle auswählen die Option BigQuery und dann BigQuery Data Viewer aus.

  7. Klicken Sie auf Speichern.

bq

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

Zu Cloud Shell

bq add-iam-policy-binding \
    --member="user:PRINCIPAL" \
    --role="roles/bigquery.dataViewer" \
    PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME

Dabei gilt:

  • PRINCIPAL: die Principal-Instanz, der Sie Zugriff auf den Tabellen-Snapshot gewähren möchten.
  • 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.

API

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

Parameter Wert
Resource
projects/PROJECT_ID/datasets/DATASET_NAME/tables/SNAPSHOT_NAME
Anfragetext
{
      "policy": {
        "bindings": [
          {
            "members": [
              "user:PRINCIPAL"
            ],
            "role": "roles/bigquery.dataViewer"
          }
        ]
      }
    }

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.
  • PRINCIPAL: das Hauptkonto, dem Sie Zugriff auf den Tabellen-Snapshot gewähren möchten.

Nächste Schritte