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
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Maximieren Sie im Bereich Explorer die Projekt- und Dataset-Knoten des Tabellen-Snapshots, den Sie aktualisieren möchten.
Klicken Sie auf den Namen des Tabellen-Snapshots.
Klicken Sie im angezeigten Snapshot-Bereich auf den Tab Details und dann auf Details bearbeiten.
Fügen Sie im Feld Beschreibung die Beschreibung für den Tabellen-Snapshot hinzu oder aktualisieren Sie diese.
Klicken Sie auf Speichern.
bq
Führen Sie dazu in Cloud Shell den folgenden Befehl aus.
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
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Maximieren Sie im Bereich Explorer die Projekt- und Dataset-Knoten des Tabellen-Snapshots, den Sie aktualisieren möchten.
Klicken Sie auf den Namen des Tabellen-Snapshots.
Klicken Sie im angezeigten Snapshot-Bereich auf den Tab Details und dann auf Details bearbeiten.
Geben Sie im Feld Ablaufzeit die neue Ablaufzeit für den Tabellen-Snapshot ein.
Klicken Sie auf Speichern.
bq
Führen Sie dazu in Cloud Shell den folgenden Befehl aus.
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
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Maximieren Sie im Bereich Explorer die Projekt- und Dataset-Knoten des Tabellen-Snapshots, den Sie aktualisieren möchten.
Klicken Sie auf den Namen des Tabellen-Snapshots.
Klicken Sie im angezeigten Bereich des Snapshots auf Freigeben und dann auf Hauptkonto hinzufügen.
Geben Sie im angezeigten Bereich Hauptkonten hinzufügen die Kennzeichnung des Hauptkontos ein, dem Sie Zugriff auf den Tabellen-Snapshot gewähren möchten.
Wählen Sie im Drop-down-Menü Rolle auswählen die Option BigQuery und dann BigQuery Data Viewer aus.
Klicken Sie auf Speichern.
bq
Führen Sie dazu in Cloud Shell den folgenden Befehl aus.
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
- Tabellen-Snapshots in einem Dataset auflisten
- Metadaten für einen Tabellen-Snapshot ansehen
- Tabellen-Snapshot löschen