Como excluir rótulos

Nesta página, você verá como remover rótulos de recursos do BigQuery.

Visão geral

Para remover um rótulo de um conjunto de dados, tabela ou visualização:

  • use o Console do Cloud ou a IU clássica da Web;
  • use o comando bq update da ferramenta de linha de comando;
  • chame os métodos de API datasets.patch ou tables.patch;
  • use as bibliotecas de cliente.

Permissões necessárias

No mínimo, para remover um rótulo de conjunto de dados, é necessário ter permissões bigquery.datasets.get e bigquery.datasets.update. Os seguintes papéis predefinidos do Cloud IAM incluem permissões bigquery.datasets.update e bigquery.datasets.get:

  • bigquery.dataOwner
  • bigquery.admin

Além disso, se um usuário tiver permissões bigquery.datasets.create ao criar um conjunto de dados, será concedido o acesso bigquery.dataOwner. O acesso bigquery.dataOwner oferece ao usuário a capacidade de remover rótulos dos respectivos conjuntos de dados e de tabelas e visualizações contidas nesses conjuntos de dados.

Para mais informações sobre os papéis e permissões do Cloud IAM no BigQuery, consulte Papéis e permissões predefinidos.

Como excluir um rótulo de conjunto de dados

Para remover um rótulo de um conjunto de dados, faça o seguinte:

Console

  1. No Console do Cloud, selecione o conjunto de dados.

  2. Na página de detalhes do conjunto de dados, clique no ícone de lápis à direita de Rótulos.

    Lápis de rótulo

  3. Na caixa de diálogo Editar rótulos:

    • Clique no ícone de exclusão (X) para cada rótulo que você quer remover.
    • Clique em Atualizar para salvar as alterações.

IU clássica

  1. Na IU da Web, selecione o conjunto de dados.

  2. Na página Detalhes do conjunto de dados, à direita de Rótulos, clique em Editar.

  3. Na caixa de diálogo Editar rótulos:

    • Clique no ícone de exclusão (X) para cada rótulo que você quer remover.
    • Clique em OK.

      Excluir rótulo

CLI

Para remover um rótulo de conjunto de dados, use o comando bq update com a sinalização clear_label. Repita a sinalização para remover vários rótulos.

Se o conjunto de dados estiver em um projeto diferente do padrão, adicione o ID do projeto ao conjunto de dados no seguinte formato: project_id:dataset.

bq update \
--clear_label key \
project_id:dataset

Em que:

  • key é a chave de um rótulo que você quer remover;
  • project_id é o código do projeto;
  • dataset é o conjunto de dados que você está atualizando.

Exemplos:

Para remover o rótulo department:shipping de mydataset, digite o comando bq update com a sinalização --clear_label. mydataset está no projeto padrão.

    bq update --clear_label department mydataset

Para remover o rótulo department:shipping de mydataset em myotherproject, digite o comando bq update com a sinalização --clear_label.

    bq update --clear_label department myotherproject:mydataset

Para remover vários rótulos de um conjunto de dados, repita a sinalização clear_label e especifique a chave de cada rótulo. Por exemplo, para remover os rótulos department:shipping e cost_center:logistics de mydataset em seu projeto padrão, insira:

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

Para cada um desses exemplos, o resultado será semelhante ao mostrado a seguir:

Dataset 'myproject:mydataset' successfully updated.

API

Para remover um rótulo específico de um conjunto de dados atual, chame o método datasets.patch e atualize a propriedade labels para o recurso do conjunto de dados definindo a chave-valor do rótulo como null.

Para remover todos os rótulos de um conjunto de dados, chame o método datasets.patch e remova a propriedade labels.

Como o método datasets.update substitui todo o recurso do conjunto de dados, é melhor usar o método datasets.patch.

Go

Antes de testar esta amostra, siga as instruções de configuração do Go no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery Go .

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

Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery Python.

# 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))

Como excluir um rótulo de visualização ou tabela

Para remover o rótulo de uma tabela ou visualização:

  • use o Console do Cloud ou a IU da Web clássica do BigQuery;
  • use o comando bq update da ferramenta de linha de comando;
  • utilize o método da API tables.patch
      ;
    • Como as visualizações são tratadas como recursos de tabela, tables.patch é usado para modificar visualizações e tabelas.
  • use as bibliotecas de cliente.

Permissões necessárias

No mínimo, para remover um rótulo de tabela ou visualização, é necessário ter permissões bigquery.tables.update e bigquery.tables.get. Os seguintes papéis predefinidos do Cloud IAM incluem permissões bigquery.tables.update e bigquery.tables.get:

  • bigquery.dataEditor
  • bigquery.dataOwner
  • bigquery.admin

Além disso, se um usuário tiver permissões bigquery.datasets.create ao criar um conjunto de dados, será concedido o acesso bigquery.dataOwner. O acesso bigquery.dataOwner permite que o usuário remova rótulos de tabelas e visualizações em um conjunto de dados.

Para mais informações sobre os papéis e permissões do Cloud IAM no BigQuery, consulte Papéis e permissões predefinidos.

Como excluir um rótulo de tabela ou visualização

Para remover um rótulo de uma tabela ou visualização, faça o seguinte:

Console

  1. No Console do Cloud, selecione o conjunto de dados.

  2. Clique na guia Detalhes, em seguida clique no ícone de lápis à direita de Rótulos.

    Lápis de rótulo

  3. Na caixa de diálogo Editar rótulos:

    • Clique no ícone de exclusão (X) para cada rótulo que você quer remover.

      Rótulo de exclusão

    • Clique em Atualizar para salvar as alterações.

IU clássica

  1. Na IU da Web, selecione a tabela ou a visualização.

  2. Na página Detalhes, à direita de Rótulos, clique em Editar.

  3. Na caixa de diálogo Editar rótulos:

    • Clique no ícone de exclusão (X) para cada rótulo que você quer remover.
    • Clique em OK.

      Excluir rótulo

CLI

Para remover um rótulo de visualização ou tabela, insira o comando bq update com a sinalização clear_label. Repita a sinalização para remover vários rótulos.

Se a tabela ou a visualização estiver em um projeto diferente do padrão, adicione o ID do projeto ao conjunto de dados no seguinte formato: project_id:dataset.

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

Em que:

  • key é a chave de um rótulo que você quer remover;
  • project_id é o código do projeto;
  • dataset é o conjunto de dados que você está atualizando.
  • table_or_view é o nome da tabela ou visualização que você está atualizando.

Exemplos:

Para remover o rótulo department:shipping de mydataset.mytable, digite o comando bq update com a sinalização --clear_label. mydataset está no projeto padrão.

    bq update --clear_label department mydataset.mytable

Para remover o rótulo department:shipping de mydataset.myview em myotherproject, digite o comando bq update com a sinalização --clear_label.

    bq update --clear_label department myotherproject:mydataset.myview

Para remover vários rótulos de uma tabela ou visualização, repita a sinalização clear_label e especifique a chave de cada rótulo. Por exemplo, para remover os rótulos department:shipping e cost_center:logistics de mydataset.mytable no seu projeto padrão, insira:

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

Para cada um desses exemplos, o resultado será semelhante ao mostrado a seguir:

Table 'myproject:mydataset.mytable' successfully updated.

API

Para remover um rótulo específico de uma tabela ou visualização atual, chame o método tables.patch e atualize a propriedade labels para o recurso de tabela definindo a chave-valor do rótulo como null.

Para remover todos os rótulos de uma tabela ou visualização, chame o método tables.patch e remova a propriedade labels.

Como as visualizações são tratadas como recursos de tabela, você usa o método tables.patch para modificar visualizações e tabelas. Além disso, como o método tables.update substitui todo o recurso do conjunto de dados, é melhor usar o método tables.patch.

Go

Antes de testar esta amostra, siga as instruções de configuração do Go no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery Go .

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

Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery Python.

# 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 == {}

Como excluir rótulos de job

No momento, não é possível excluir um rótulo de um job atual.

A seguir