Ansichten auflisten

In diesem Dokument wird erläutert, wie Ansichten in BigQuery aufgelistet werden.

So können Sie Ansichten in Datasets auflisten:

  • Google Cloud Console verwenden
  • Mit dem Befehl bq ls im bq-Befehlszeilentool
  • Durch Aufrufen der API-Methode tables.list
  • Mit den Clientbibliotheken

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

Zum Auflisten von Ansichten in einem Dataset benötigen Sie die IAM-Berechtigung bigquery.tables.list.

Jede der folgenden vordefinierten IAM-Rollen enthält die Berechtigungen, die Sie zum Auflisten von Ansichten in einem Dataset benötigen:

  • roles/bigquery.user
  • roles/bigquery.metadataViewer
  • roles/bigquery.dataViewer
  • roles/bigquery.dataOwner
  • roles/bigquery.dataEditor
  • roles/bigquery.admin

Weitere Informationen zu IAM-Rollen und Berechtigungen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.

Ansichten auflisten

Das Verfahren zum Auflisten von Ansichten ist identisch mit dem Vorgang zum Auflisten von Tabellen.

So listen Sie die Ansichten in einem Dataset auf:

Console

  1. Maximieren Sie im Bereich Explorer Ihr Projekt und wählen Sie ein Dataset aus.

  2. Scrollen Sie durch die Liste, um die Tabellen im Dataset aufzurufen. Tabellen und Ansichten sind durch unterschiedliche Symbole gekennzeichnet.

    Tabellen- und Ansichtssymbole

bq

Führen Sie den Befehl bq ls aus. Mit dem Flag --format kann die Ausgabe gesteuert werden. Wenn Sie Ansichten eines anderen Projekts als Ihres Standardprojekts auflisten möchten, fügen Sie dem Dataset die Projekt-ID im folgenden Format hinzu: project_id:dataset.

bq ls --format=pretty project_id:dataset

Dabei gilt:

  • project_id ist die Projekt-ID.
  • dataset ist der Name des Datasets.

Wenn Sie den Befehl ausführen, wird im Feld Type entweder TABLE oder VIEW angezeigt. Beispiel:

+-------------------------+-------+----------------------+-------------------+
|         tableId         | Type  |        Labels        | Time Partitioning |
+-------------------------+-------+----------------------+-------------------+
| mytable                 | TABLE | department:shipping  |                   |
| myview                  | VIEW  |                      |                   |
+-------------------------+-------+----------------------+-------------------+

Beispiele:

Geben Sie den folgenden Befehl ein, um Ansichten im Dataset mydataset in Ihrem Standardprojekt aufzulisten:

bq ls --format=pretty mydataset

Geben Sie den folgenden Befehl ein, um Ansichten im Dataset mydataset im Projekt myotherproject aufzulisten.

bq ls --format=pretty myotherproject:mydataset

API

Zum Auflisten von Ansichten über die API rufen Sie die Methode tables.list auf.

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.

import (
	"context"
	"fmt"
	"io"

	"cloud.google.com/go/bigquery"
	"google.golang.org/api/iterator"
)

// listTables demonstrates iterating through the collection of tables in a given dataset.
func listTables(w io.Writer, projectID, datasetID string) error {
	// projectID := "my-project-id"
	// datasetID := "mydataset"
	// tableID := "mytable"
	ctx := context.Background()
	client, err := bigquery.NewClient(ctx, projectID)
	if err != nil {
		return fmt.Errorf("bigquery.NewClient: %v", err)
	}
	defer client.Close()

	ts := client.Dataset(datasetID).Tables(ctx)
	for {
		t, err := ts.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			return err
		}
		fmt.Fprintf(w, "Table: %q\n", t.TableID)
	}
	return nil
}

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.


from google.cloud import bigquery

# Construct a BigQuery client object.
client = bigquery.Client()

# TODO(developer): Set dataset_id to the ID of the dataset that contains
#                  the tables you are listing.
# dataset_id = 'your-project.your_dataset'

tables = client.list_tables(dataset_id)  # Make an API request.

print("Tables contained in '{}':".format(dataset_id))
for table in tables:
    print("{}.{}.{}".format(table.project, table.dataset_id, table.table_id))

Sicherheit ansehen

Informationen zum Steuern des Zugriffs auf Ansichten in BigQuery finden Sie unter Autorisierte Ansichten.

Nächste Schritte