Labels werden gelöscht

Auf dieser Seite erfahren Sie, wie Sie Labels aus BigQuery-Ressourcen entfernen.

Überblick

Zum Entfernen eines Labels aus Datasets, Tabellen oder Ansichten haben Sie folgende Möglichkeiten:

  • Mit der Cloud Console oder der klassischen Web-UI
  • Mit dem Befehl bq update des Befehlszeilentools
  • Durch Aufruf der API-Methoden datasets.patch und tables.patch
  • Mit den Clientbibliotheken

Erforderliche Berechtigungen

Sie benötigen mindestens die Berechtigungen bigquery.datasets.get und bigquery.datasets.update, um ein Dataset-Label zu entfernen. Die folgenden vordefinierten Cloud IAM-Rollen enthalten die Berechtigungen bigquery.datasets.update und bigquery.datasets.get:

  • 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 hat der Nutzer die Möglichkeit, Labels aus Datasets und aus Tabellen und Ansichten in diesen Datasets zu entfernen.

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

Dataset-Label löschen

So entfernen Sie ein Label aus einem Dataset:

Console

  1. Wählen Sie das Dataset in der Cloud Console aus.

  2. Klicken Sie auf der Seite "Dataset-Details" auf das Stiftsymbol rechts neben Labels.

    Stiftsymbol

  3. Im Dialogfeld Labels bearbeiten gehen Sie so vor:

    • Klicken Sie für jedes Label, das Sie entfernen möchten, auf das Symbol zum Löschen (X).
    • Klicken Sie auf Aktualisieren, um die Änderungen zu speichern.

Klassische UI

  1. Wählen Sie in der Webbenutzeroberfläche das Dataset aus.

  2. Klicken Sie auf der Seite Dataset-Details rechts neben Labels auf Edit (Bearbeiten).

  3. Gehen Sie im Dialogfeld Edit Labels (Labels bearbeiten) folgendermaßen vor:

    • Klicken Sie für jedes Label, das Sie entfernen möchten, auf das Symbol zum Löschen (X).
    • Klicken Sie auf OK.

      Label löschen

Befehlszeile

Wenn Sie ein Dataset-Label entfernen möchten, führen Sie den Befehl bq update mit dem Flag clear_label aus. Wiederholen Sie das Flag, um mehrere Labels zu entfernen.

Wenn sich das Dataset in einem anderen Projekt als Ihrem Standardprojekt befindet, fügen Sie dem Dataset die Projekt-ID im folgenden Format hinzu: project_id:dataset.

bq update \
--clear_label key \
project_id:dataset

Dabei gilt:

  • key ist der Schlüssel für ein zu entfernendes Label.
  • project_id ist Ihre Projekt-ID.
  • dataset ist das zu aktualisierende Dataset.

Beispiele:

Geben Sie den Befehl bq update mit dem Flag --clear_label ein, um das Label department:shipping aus mydataset zu entfernen. mydataset befindet sich in Ihrem Standardprojekt.

    bq update --clear_label department mydataset

Geben Sie den Befehl bq update mit dem Flag --clear_label ein, um das Label department:shipping aus mydataset in myotherproject zu entfernen.

    bq update --clear_label department myotherproject:mydataset

Zum Entfernen mehrerer Labels aus einem Dataset wiederholen Sie das Flag clear_label und geben Sie die Schlüssel aller Labels an. So entfernen Sie beispielsweise das Label department:shipping und die Labels cost_center:logistics aus mydataset in Ihrem Standardprojekt:

    bq update \
    --clear_label department \
    --clear_label cost_center \
    mydataset

Bei jedem dieser Beispiele sieht die Ausgabe so aus:

Dataset 'myproject:mydataset' successfully updated.

API

Wenn Sie ein bestimmtes Label aus einem vorhandenen Dataset entfernen möchten, rufen Sie die Methode datasets.patch auf und aktualisieren das Attribut labels für die Dataset-Ressource. Dazu setzen Sie den Schlüsselwert des Labels auf null.

Mit der Methode datasets.patch entfernen Sie das Attribut labels, um alle Labels aus einem Dataset zu entfernen.

Da die Methode datasets.update die gesamte Dataset-Ressource ersetzt, ist die Methode datasets.patch zu bevorzugen.

Go

Bevor Sie dieses Beispiel ausprobieren, folgen Sie den Schritten zur Einrichtung von Go in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur BigQuery Go API.

import (
	"context"
	"fmt"

	"cloud.google.com/go/bigquery"
)

// deleteDatasetLabel demonstrates removing a specific label from a dataset's metadata.
func deleteDatasetLabel(projectID, datasetID string) error {
	// projectID := "my-project-id"
	// datasetID := "mydataset"
	ctx := context.Background()

	client, err := bigquery.NewClient(ctx, projectID)
	if err != nil {
		return fmt.Errorf("bigquery.NewClient: %v", err)
	}

	ds := client.Dataset(datasetID)
	meta, err := ds.Metadata(ctx)
	if err != nil {
		return err
	}
	update := bigquery.DatasetMetadataToUpdate{}
	update.DeleteLabel("color")
	if _, err := ds.Update(ctx, update, meta.ETag); err != nil {
		return err
	}
	return nil
}

Python

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Anleitung zum Einrichten von Python in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur BigQuery Python API.

# TODO(developer): Import the client library.
# from google.cloud import bigquery

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

# TODO(developer): Set dataset_id to the ID of the dataset to fetch.
# dataset_id = "your-project.your_dataset"

dataset = client.get_dataset(dataset_id)  # Make an API request.

# To delete a label from a dataset, set its value to None.
dataset.labels["color"] = None

dataset = client.update_dataset(dataset, ["labels"])  # Make an API request.
print("Labels deleted from {}".format(dataset_id))

Tabellen- oder Ansichtslabel löschen

Zum Entfernen eines Tabellen- oder Ansichtslabels haben Sie folgende Optionen:

  • Mit der Cloud Console oder der klassischen BigQuery-Web-UI
  • Mit dem Befehl bq update des Befehlszeilentools
  • Durch Aufrufen der API-Methode tables.patch
    • Da Ansichten wie Tabellenressourcen behandelt werden, können Sie sowohl Ansichten als auch Tabellen mit der Methode tables.patch ändern.
  • Mit den Clientbibliotheken

Erforderliche Berechtigungen

Sie benötigen mindestens die Berechtigungen bigquery.tables.update und bigquery.tables.get, um ein Tabellen- oder Ansichtslabel zu entfernen. Die folgenden vordefinierten Cloud IAM-Rollen enthalten die Berechtigungen bigquery.tables.update und bigquery.tables.get:

  • 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 hat der Nutzer die Möglichkeit, Labels aus Tabellen und Ansichten in einem Dataset zu entfernen.

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

Tabellen- oder Ansichtslabel löschen

So entfernen Sie ein Label aus einer Tabelle oder Ansicht:

Console

  1. Wählen Sie das Dataset in der Cloud Console aus.

  2. Klicken Sie auf den Tab Details und dann auf das Stiftsymbol rechts neben Labels.

    Stiftsymbol

  3. Im Dialogfeld Labels bearbeiten gehen Sie so vor:

    • Klicken Sie für jedes Label, das Sie entfernen möchten, auf das Symbol zum Löschen (X).

      Label löschen

    • Klicken Sie auf Aktualisieren, um die Änderungen zu speichern.

Klassische UI

  1. Wählen Sie in der Webbenutzeroberfläche die Tabelle oder Ansicht aus.

  2. Klicken Sie auf der Seite Details rechts neben Labels auf Bearbeiten.

  3. Gehen Sie im Dialogfeld Edit Labels (Labels bearbeiten) folgendermaßen vor:

    • Klicken Sie für jedes Label, das Sie entfernen möchten, auf das Symbol zum Löschen (X).
    • Klicken Sie auf OK.

      Label löschen

Befehlszeile

Wenn Sie ein Label aus einer Tabelle oder Ansicht entfernen möchten, führen Sie den Befehl bq update mit dem Flag clear_label aus. Wiederholen Sie das Flag, um mehrere Labels zu entfernen.

Wenn sich die Tabelle oder Ansicht in einem anderen Projekt als Ihrem Standardprojekt befindet, fügen Sie dem Dataset die Projekt-ID im folgenden Format hinzu: project_id:dataset.

bq update \
--clear_label key \
project_id:dataset.table_or_view

Dabei gilt:

  • key ist der Schlüssel für ein zu entfernendes Label.
  • project_id ist Ihre Projekt-ID.
  • dataset ist das zu aktualisierende Dataset.
  • table_or_view ist der Name der zu aktualisierenden Tabelle oder Ansicht.

Beispiele:

Geben Sie den Befehl bq update mit dem Flag --clear_label ein, um das Label department:shipping aus mydataset.mytable zu entfernen. mydataset befindet sich in Ihrem Standardprojekt.

    bq update --clear_label department mydataset.mytable

Geben Sie den Befehl bq update mit dem Flag --clear_label ein, um das Label department:shipping aus mydataset.myview in myotherproject zu entfernen.

    bq update --clear_label department myotherproject:mydataset.myview

Geben Sie das Flag clear_label wiederholt an und legen Sie die Schlüssel aller Labels fest, um mehrere Labels aus einer Tabelle oder Ansicht zu entfernen. So entfernen Sie beispielsweise das Label department:shipping und das Label cost_center:logistics aus mydataset.mytable in Ihrem Standardprojekt:

    bq update \
    --clear_label department \
    --clear_label cost_center \
    mydataset.mytable

Bei jedem dieser Beispiele sieht die Ausgabe so aus:

Table 'myproject:mydataset.mytable' successfully updated.

API

Wenn Sie ein bestimmtes Label aus einer vorhandenen Tabelle oder Ansicht entfernen möchten, rufen Sie die Methode tables.patch auf und aktualisieren das Attribut labels für die Tabellenressource. Dazu setzen Sie den Schlüsselwert des Labels auf null.

Mit der Methode tables.patch entfernen Sie das Attribut labels, um alle Labels aus einer Tabelle oder Ansicht zu entfernen.

Da Ansichten wie Tabellenressourcen behandelt werden, können Sie sowohl Ansichten als auch Tabellen mit der Methode tables.patch ändern. Da außerdem die Methode tables.update die gesamte Dataset-Ressource ersetzt, wird die Methode tables.patch bevorzugt.

Go

Bevor Sie dieses Beispiel ausprobieren, folgen Sie den Schritten zur Einrichtung von Go in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur BigQuery Go API.

import (
	"context"
	"fmt"

	"cloud.google.com/go/bigquery"
)

// deleteTableLabel demonstrates how to remove a specific metadata Label from a BigQuery table.
func deleteTableLabel(projectID, datasetID, tableID 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)
	}

	tbl := client.Dataset(datasetID).Table(tableID)
	meta, err := tbl.Metadata(ctx)
	if err != nil {
		return err
	}
	update := bigquery.TableMetadataToUpdate{}
	update.DeleteLabel("color")
	if _, err := tbl.Update(ctx, update, meta.ETag); err != nil {
		return err
	}
	return nil
}

Python

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Anleitung zum Einrichten von Python in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur BigQuery Python API.

# from google.cloud import bigquery
# client = bigquery.Client()
# table_ref = client.dataset('my_dataset').table('my_table')
# table = client.get_table(table_ref)  # API request

# This example table starts with one label
assert table.labels == {"color": "green"}
# To delete a label from a table, set its value to None
table.labels["color"] = None

table = client.update_table(table, ["labels"])  # API request

assert table.labels == {}

Joblabels löschen

Das Löschen eines Labels aus einem vorhandenen Job wird derzeit nicht unterstützt.

Weitere Informationen