In diesem Dokument wird beschrieben, wie Sie Ansichten in BigQuery verwalten können. Es gibt verschiedene Optionen:
Ansichten kopieren
Derzeit können Sie Ansichten nur mithilfe der Cloud Console kopieren.
Sie können Ansichten nicht mit dem bq
-Befehlszeilentool, der REST API oder den Clientbibliotheken kopieren. Sie müssen daher die Ansicht im Ziel-Dataset neu erstellen. Sie können jedoch beim Neuerstellen der Ansicht das bq
-Befehlszeilentool verwenden, um die SQL-Abfrage der Ansicht zu kopieren.
Erforderliche Berechtigungen
Zum Kopieren einer Ansicht in der Cloud Console benötigen Sie mindestens die folgenden Berechtigungen.
Für das Quell-Dataset:
bigquery.tables.get
zum Kopieren der Metadaten der Ansichtbigquery.tables.getData
zum Kopieren der SQL-Abfrage der Ansicht
Unter Umständen sind zusätzliche Berechtigungen wie bigquery.tables.getData
erforderlich, um auf die Tabellen zuzugreifen, auf die in der SQL-Abfrage der Ansicht verwiesen wird.
Für das Ziel-Dataset:
bigquery.tables.create
zum Erstellen der Kopie der Ansicht im Ziel-Dataset
Diese vordefinierten IAM-Rollen enthalten die Berechtigungen bigquery.tables.create
, bigquery.tables.get
und bigquery.tables.getData
:
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
Wenn ein Nutzer mit Berechtigungen vom Typ bigquery.datasets.create
ein Dataset erstellt, hat er dafür außerdem bigquery.dataOwner
-Zugriff.
Mit bigquery.dataOwner
-Zugriff kann der Nutzer Ansichten aus dem Quell-Dataset kopieren. Die Zugriffsberechtigung auf das Ziel-Dataset ist jedoch weiterhin erforderlich, es sei denn, der Nutzer hat auch dieses erstellt.
Weitere Informationen zu IAM-Rollen und Berechtigungen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.
Ansicht kopieren
So kopieren Sie eine Ansicht:
Console
Maximieren Sie im Bereich Explorer Ihr Projekt und das Dataset und wählen Sie dann die Ansicht aus.
Klicken Sie im Detailbereich auf Ansicht kopieren.
Gehen Sie im Dialogfeld Copy view (Ansicht kopieren) so vor:
- Überprüfen Sie im Abschnitt Source (Quelle), ob Project name (Projektname), Dataset name (Dataset-Name) und Table name (Tabellenname) korrekt sind.
Gehen Sie im Abschnitt "Destination" (Ziel) so vor:
- Bei Project name (Projektname) wählen Sie das Projekt aus, in das Sie die Ansicht kopieren möchten.
- Bei Dataset name (Dataset-Name) wählen Sie das Dataset aus, in dem die kopierte Ansicht enthalten sein soll.
- Geben Sie für Table name (Tabellenname) den Namen der Ansicht ein. Sie können die Ansicht umbenennen, indem Sie einen neuen Namen in das Feld eingeben. Wenn Sie einen neuen Namen eingeben, muss dieser den Benennungsregeln für Ansichten entsprechen.
Klicken Sie auf Kopieren.
bq
Das bq
-Befehlszeilentool unterstützt das Kopieren von Ansichten nicht. Sie müssen daher die Ansicht im Ziel-Dataset neu erstellen. Sie können jedoch die Neuerstellung vereinfachen und dafür die SQL-Abfrage kopieren, mit der die Ansicht definiert wurde.
Geben Sie den Befehl bq show
aus, um die SQL-Abfrage zu kopieren, die eine Ansicht definiert. Mit dem Flag --format
kann die Ausgabe gesteuert werden. Wenn Sie Informationen zu einer Ansicht in einem anderen Projekt als Ihrem Standardprojekt abrufen, fügen Sie dem Dataset die Projekt-ID im folgenden Format hinzu: project_id:dataset
. Zum Schreiben der Ansichtsattribute in eine Datei fügen Sie > path_to_file
zum Befehl hinzu.
bq show \ --format=prettyjson \ project_id:dataset.view > path_to_file
Dabei gilt:
- project_id ist die Projekt-ID.
- dataset ist der Name des Datasets
- view ist der Name der Ansicht.
- path_to_file der Pfad zur Ausgabedatei auf Ihrem lokalen Rechner ist.
Beispiele:
Geben Sie den folgenden Befehl ein, um Informationen zu myview
in mydataset
aufzurufen. mydataset
befindet sich in Ihrem Standardprojekt.
bq show --format=prettyjson mydataset.myview
Geben Sie den folgenden Befehl ein, um Informationen zu myview
in mydataset
aufzurufen. mydataset
befindet sich in myotherproject
, nicht in Ihrem Standardprojekt.
Die Ansichtsattribute werden in eine lokale Datei geschrieben: /tmp/myview.json
.
bq show \
--format=prettyjson \
myotherproject:mydataset.myview > /tmp/myview.json
API
Die REST API unterstützt das Kopieren von Ansichten nicht. Sie müssen daher die Ansicht im Ziel-Dataset neu erstellen. Informationen zum Erstellen einer Ansicht mithilfe der REST API finden Sie unter Ansicht erstellen.
Ansicht umbenennen
Derzeit können Sie eine Ansicht nur dann umbenennen, wenn Sie die Ansicht mit der Cloud Console kopieren. Eine Anleitung, wie Sie eine Ansicht beim Kopiervorgang umbenennen, finden Sie im Abschnitt Ansicht kopieren.
Sie können den Namen einer vorhandenen Ansicht nicht mit dem bq
-Befehlszeilentool, der API oder den Clientbibliotheken ändern. Sie müssen dann die Ansicht mit dem neuen Namen neu erstellen.
Ansichten löschen
Ansichten können auf folgende Weise gelöscht werden:
- Mit der Cloud Console
- Mit dem Befehl
bq rm
desbq
-Befehlszeilentools - Durch Aufrufen der API-Methode
tables.delete
Derzeit können Sie mit diesen Methoden immer nur eine Ansicht auf einmal löschen.
Wenn Ansichten nach Ablauf eines bestimmten Zeitraums automatisch gelöscht werden sollen, legen Sie dafür die standardmäßige Ablaufzeit auf Dataset-Ebene fest oder geben Sie die Ablaufzeit beim Erstellen der Ansicht an.
Erforderliche Berechtigungen
Zum Löschen einer Ansicht müssen Sie mindestens die Berechtigungen bigquery.tables.delete
und bigquery.tables.get
haben. Diese vordefinierten IAM-Rollen enthalten die Berechtigungen bigquery.tables.delete
und bigquery.tables.get
:
bigquery.dataOwner
bigquery.dataEditor
bigquery.admin
Wenn ein Nutzer mit Berechtigungen vom Typ bigquery.datasets.create
ein Dataset erstellt, hat er dafür außerdem bigquery.dataOwner
-Zugriff.
Mit bigquery.dataOwner
-Zugriff haben Nutzer die Möglichkeit, Ansichten im Dataset zu erstellen.
Weitere Informationen zu IAM-Rollen und Berechtigungen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.
Ansicht löschen
So löschen Sie eine Ansicht:
Console
Maximieren Sie im Bereich Explorer Ihr Projekt und das Dataset und wählen Sie dann die Ansicht aus.
Klicken Sie im Detailbereich auf Ansicht löschen.
Geben Sie den Namen der Ansicht in das Dialogfeld ein und klicken Sie zur Bestätigung auf Löschen.
bq
Verwenden Sie den Befehl bq rm
mit dem Flag --table
(oder dem Kürzel -t
), um eine Ansicht zu löschen. Wenn Sie eine Ansicht mit dem bq
-Befehlszeilentool entfernen, müssen Sie die Aktion bestätigen.
Sie können das Flag --force
(oder das Kürzel -f
) zum Überspringen der Bestätigung verwenden.
Wenn sich die Ansicht in einem Dataset eines anderen Projekts als dem Standardprojekt befindet, fügen Sie dem Dataset-Namen die Projekt-ID im folgenden Format hinzu: project_id:dataset
.
bq rm \ -f \ -t \ project_id:dataset.view
Dabei gilt:
- project_id ist die Projekt-ID.
- dataset ist der Name des Datasets, das die Tabelle enthält.
- view ist der Name der Ansicht, die gelöscht werden soll.
Beispiele:
Geben Sie den folgenden Befehl ein, um myview
aus mydataset
zu löschen. mydataset
befindet sich in Ihrem Standardprojekt.
bq rm -t mydataset.myview
Geben Sie den folgenden Befehl ein, um myview
aus mydataset
zu löschen. mydataset
befindet sich nicht in Ihrem Standardprojekt, sondern in myotherproject
.
bq rm -t myotherproject:mydataset.myview
Geben Sie den folgenden Befehl ein, um myview
aus mydataset
zu löschen. mydataset
befindet sich in Ihrem Standardprojekt. Durch das Kürzel -f
in diesem Befehl wird die Bestätigung übersprungen.
bq rm -f -t mydataset.myview
API
Rufen Sie die API-Methode tables.delete
auf und legen Sie die zu löschende Datenansicht mit dem Parameter tableId
fest.
C#
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von C# in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur BigQuery C# API.
Go
Bevor Sie dieses Beispiel ausprobieren, folgen Sie den Schritten zur Einrichtung von Go in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Go API.
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur BigQuery Java API.
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Node.js in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Node.js API.
PHP
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von PHP in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur BigQuery PHP API.
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
Ruby
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Ruby in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur BigQuery Ruby API.
Tipp
- Ansichten erstellen
- Autorisierte Ansichten erstellen
- Ansichten auflisten
- Metadaten zu Ansichten abrufen
- Ansichten aktualisieren