Ressourcen mithilfe von Labels filtern
Sie haben folgende Möglichkeiten, Ressourcen mithilfe von Labels zu filtern:
- Verwendung der Suchleiste in der Google Cloud Console
- Durch Erstellen einer Filterspezifikation zur Verwendung in der API, im bq-Befehlszeilentool oder in den Clientbibliotheken
Beschränkungen
- Die API, das bq-Befehlszeilentool und die Clientbibliotheken unterstützen derzeit nur das Filtern von Datasets.
- In keinem BigQuery-Tool können derzeit Jobs nach Label gefiltert werden.
Hinweis
Erteilen Sie IAM-Rollen (Identity and Access Management), die Nutzern die erforderlichen Berechtigungen zum Ausführen der einzelnen Aufgaben in diesem Dokument geben.
Erforderliche Berechtigungen
Wenn Sie mithilfe von Labels Ressourcen filtern möchten, müssen Sie die Metadaten von Ressourcen abrufen können. Zum Filtern von Ressourcen mithilfe von Labels benötigen Sie die folgenden IAM-Berechtigungen:
bigquery.datasets.get
(zum Filtern von Datasets)bigquery.tables.get
(zum Filtern von Tabellen und Ansichten)
Jede der folgenden vordefinierten IAM-Rollen enthält die Berechtigungen, die Sie zum Filtern von Datasets benötigen:
roles/bigquery.user
roles/bigquery.metadataViewer
roles/bigquery.dataViewer
roles/bigquery.dataOwner
roles/bigquery.dataEditor
roles/bigquery.admin
Jede der folgenden vordefinierten IAM-Rollen enthält die Berechtigungen, die Sie zum Filtern von Tabellen und Ansichten benötigen:
roles/bigquery.metadataViewer
roles/bigquery.dataViewer
roles/bigquery.dataOwner
roles/bigquery.dataEditor
roles/bigquery.admin
Wenn Sie die Berechtigung bigquery.datasets.create
haben, können Sie auch die von Ihnen erstellten Ressourcen filtern.
Weitere Informationen zu IAM-Rollen und Berechtigungen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.
Ressourcen in der Google Cloud Console filtern
Verwenden Sie die Google Cloud Console, um eine gefilterte Liste von Ressourcen zu generieren:
Wechseln Sie in der Google Cloud Console zum Bereich Explorer.
Geben Sie in der Suchleiste das Paar
key
oderkey:value
ein. Die Ergebnisse enthalten auch teilweise Übereinstimmungen.Wenn Sie beispielsweise nur Datasets mit dem Label
department:shipping
anzeigen lassen möchten, geben Siedepartment
oderdepartment:shipping
ein.
Datasets mit der API oder mit dem bq-Befehlszeilentool filtern
Die API, das bq-Befehlszeilentool und die Clientbibliotheken unterstützen derzeit nur das Filtern von Datasets.
Um Datasets mithilfe der API, des bq-Tools oder der Clientbibliotheken zu filtern, erstellen Sie eine Filterspezifikation und verwenden diese als:
- Parameter für das Flag
--filter
im bq-Tool - Wert für das Attribut
filter
in der Methodedatasets.list
der API
Einschränkungen bei Filterspezifikationen
Filterspezifikationen unterliegen den folgenden Einschränkungen:
- Es wird nur der logische Operator
AND
unterstützt. Durch Leerzeichen getrennte Vergleiche werden behandelt, als enthielten sie impliziteAND
-Operatoren. - Als einziges Feld für die Filterung ist derzeit
labels.key
verfügbar, wobeikey
der Name eines Labels ist. - Der Filter kann bis zu zehn Ausdrücke enthalten.
- Beim Filtern wird zwischen Groß- und Kleinschreibung unterschieden.
- Die API, das bq-Befehlszeilentool und die Clientbibliotheken unterstützen derzeit nur das Filtern von Datasets.
Beispiele für Filterspezifikationen
Eine Filterspezifikation hat folgende Syntax:
"field[:value][ field[:value]]..."
Dabei gilt:
field
wird alslabels.key
ausgedrückt, wobei key ein Labelschlüssel ist.value
ist ein optionaler Labelwert.
Die folgenden Beispiele zeigen, wie Filterausdrücke generiert werden.
Zur Auflistung von Ressourcen mit dem Label department:shipping
verwenden Sie folgende Filterspezifikation:
labels.department:shipping
Zur Auflistung von Ressourcen mit mehreren Labels müssen Sie die key:value
-Paare durch ein Leerzeichen trennen. Das Leerzeichen wird wie ein logischer AND
-Operator behandelt. Wenn Sie beispielsweise Datasets mit dem Label department:shipping
und dem Label location:usa
auflisten möchten, verwenden Sie folgende Filterspezifikation:
labels.department:shipping labels.location:usa
Sie können auch nur nach dem Vorhandensein eines Schlüssels filtern und nicht nach einem Schlüssel/Wert-Paar. Die folgende Filterspezifikation listet unabhängig vom Wert alle Datasets mit dem Label department
auf.
labels.department
In einer vergleichbaren Filterspezifikation werden mit einem Sternchen alle möglichen Werte dargestellt, die dem Schlüssel department
zugeordnet sind:
labels.department:*
Sie können in einer Filterspezifikation auch Tags verwenden. Wenn Sie beispielsweise Ressourcen mit dem Label department:shipping
und dem Tag test_data
auflisten möchten, verwenden Sie folgende Filterspezifikation:
labels.department:shipping labels.test_data
Datasets mit dem bq-Befehlszeilentool und mit der API filtern
So filtern Sie Datasets mithilfe der API, des bq-Befehlszeilentools oder mit Clientbibliotheken:
bq
Führen Sie den Befehl bq ls
mit dem Flag --filter
aus. Wenn Sie Datasets in einem anderen Projekt als in Ihrem Standardprojekt auflisten möchten, geben Sie das Flag --project_id
an.
bq ls \ --filter "filter_specification" \ --project_id project_id
Dabei gilt:
filter_specification
ist eine gültige Filterspezifikation.project_id
ist die Projekt-ID.
Beispiele:
Mit dem folgenden Befehl können Sie Datasets mit dem Label department:shipping
in Ihrem Standardprojekt auflisten:
bq ls --filter "labels.department:shipping"
Mit dem folgenden Befehl listen Sie alle Datasets mit dem Label department:shipping
und mit dem Tag test_data
in Ihrem Standardprojekt auf.
bq ls --filter "labels.department:shipping labels.test_data"
Mit dem folgenden Befehl listen Sie alle Datasets in myotherproject
mit dem Label department:shipping
auf:
bq ls --filter "labels.department:shipping" --project_id myotherproject
Die Ausgabe für jeden dieser Befehle ist eine Liste von Datasets wie die im Folgenden aufgeführte Liste.
+-----------+ | datasetId | +-----------+ | mydataset | | mydataset2| +-----------+
API
Rufen Sie die API-Methode datasets.list
auf und geben Sie die Filterspezifikation mithilfe des Attributs filter
an.
Go
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Go in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Go API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Node.js in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Node.js API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Python API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Nächste Schritte
- Labels in BigQuery-Ressourcen aufnehmen
- Labels für BigQuery-Ressourcen ansehen
- Labels für BigQuery-Ressourcen aktualisieren
- Labels für BigQuery-Ressourcen löschen
- Lesen Sie in der Dokumentation zu Resource Manager, wie Sie Labels verwenden.