Como gerenciar rótulos

Para ajudar a organizar seus recursos do BigQuery, adicione rótulos aos seus conjuntos de dados, tabelas e visualizações. Rótulos são pares de chave-valor que você anexa a um recurso. Quando você cria recursos do BigQuery, os rótulos são opcionais.

Depois de rotular seus recursos, procure-os com base nos valores do rótulo. Por exemplo, é possível usar rótulos para agrupar conjuntos de dados por finalidade, ambiente, departamento e assim por diante.

Nesta página, explicamos como gerenciar rótulos em recursos do BigQuery, incluindo como atualizar e remover rótulos.

Para saber informações sobre como adicionar rótulos aos recursos do BigQuery e sobre o uso de rótulos no BigQuery, consulte Como adicionar e usar rótulos.

O que são rótulos?

Um rótulo é um par de chave-valor que ajuda você a organizar seus recursos do BigQuery no Google Cloud Platform. É possível anexar um rótulo a cada recurso e filtrar os recursos com base nesses rótulos. As informações sobre os rótulos são encaminhadas ao sistema de faturamento para que você possa classificar as cobranças de faturamento por rótulo.

Usos comuns dos rótulos

Veja alguns casos de uso comum para rótulos:

  • Rótulos de equipe ou centro de custo: para distinguir os recursos do BigQuery pertencentes a diferentes equipes, adicione rótulos com base na equipe ou no centro de custo. Por exemplo, team:research e team:analytics. Esse tipo de rótulo pode ser usado para contabilidade de custos ou elaboração de orçamentos.

  • Rótulos de componentes: por exemplo, component:redis, component:frontend, component:ingest e component:dashboard.

  • Rótulos de ambientes ou etapas: por exemplo, environment:production e environment:test.

  • Rótulos de estado: por exemplo, state:active, state:readytodelete e state:archive.

Requisitos para rótulos

Os rótulos aplicados a um recurso precisam atender aos seguintes requisitos:

  • Cada recurso pode ter vários rótulos, até um máximo de 64.
  • Cada rótulo precisa ser um par de chave-valor.
  • As chaves têm comprimento mínimo de um e máximo de 63 caracteres, e não podem estar vazias. Os valores podem estar vazios e ter um comprimento máximo de 63 caracteres.
  • As chaves e os valores contêm apenas letras minúsculas, caracteres numéricos, sublinhados e traços. Todos os caracteres precisam usar a codificação UTF-8, e os caracteres internacionais são permitidos.
  • A parte da chave de um rótulo precisa ser única. No entanto, use a mesma chave com vários recursos.
  • As chaves precisam começar com uma letra minúscula ou um caractere internacional.

Como atualizar rótulos de conjuntos de dados

Para atualizar o rótulo de um conjunto de dados:

  • use o Console do GCP ou a IU clássica da Web do BigQuery;
  • use o comando bq update da ferramenta de linha de comando;
  • chame o método de API datasets.patch.

Permissões exigidas

Para atualizar um rótulo de um conjunto de dados, é necessário ter acesso OWNER ao conjunto de dados ou ter um papel de IAM predefinido para envolvidos no projeto que inclua permissões bigquery.datasets.update. Os seguintes papéis do IAM predefinidos para envolvidos no projeto incluem permissões bigquery.datasets.update:

Além disso, como o papel bigquery.user tem permissões bigquery.datasets.create, um usuário com bigquery.user pode atualizar qualquer conjunto de dados criado por ele. Quando um usuário com papel bigquery.user cria um conjunto de dados, recebe acesso de OWNER ao conjunto. Com o acesso OWNER, o usuário tem controle total sobre o conjunto de dados.

Para mais informações sobre os papéis e as permissões do IAM no BigQuery, consulte Controle de acesso. Para mais informações sobre os papéis para conjuntos de dados, consulte Papéis primários para conjuntos de dados.

Como atualizar um rótulo de conjunto de dados

Para atualizar rótulos de um conjunto de dados atual, siga as etapas abaixo:

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.

    Editar rótulos

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

    • Para aplicar mais rótulos, clique em Adicionar rótulo. Cada chave pode ser usada somente uma vez por conjunto de dados, mas é possível usar a mesma chave em conjuntos de dados diferentes no mesmo projeto.
    • Modifique as chaves ou valores existentes para atualizar um rótulo.
    • Clique em OK.

      Novo rótulo

Linha de comando

Para adicionar ou atualizar um rótulo de conjunto de dados, insira o comando bq update com a sinalização set_label. Repita a sinalização para adicionar ou atualizar vários rótulos.

Se o conjunto de dados estiver em um projeto diferente do padrão, adicione o código do projeto ao conjunto neste formato: [PROJECT_ID]:[DATASET].

    bq update --set_label [KEY:VALUE] [PROJECT_ID]:[DATASET]

Em que:

  • [KEY:VALUE] corresponde a um par chave-valor para um rótulo que você quer adicionar. Se você especificar a mesma chave que a de um rótulo existente, o valor do rótulo existente será atualizado. A chave precisa ser exclusiva;
  • [PROJECT_ID] é o código do projeto;
  • [DATASET] é o conjunto de dados que você está atualizando.

Exemplos:

Para atualizar o rótulo department em mydataset, insira o comando bq update e especifique department como a chave do rótulo. Por exemplo, para atualizar o rótulo department:shipping para department:logistics, digite o comando abaixo. mydataset está em myotherproject, não no projeto padrão.

    bq update --set_label department:logistics myotherproject:mydataset

API

Para adicionar um rótulo a um conjunto de dados atual ou atualizá-lo, chame o método datasets.patch e adicione ou atualize a propriedade labels do recurso do conjunto de dados.

Como o método datasets.update substitui todo o recurso do conjunto de dados, recomenda-se 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 saber mais informações, consulte a documentação de referência da API BigQuery Go.

// To run this sample, you will need to create (or reuse) a context and
// an instance of the bigquery client.  For example:
// import "cloud.google.com/go/bigquery"
// ctx := context.Background()
// client, err := bigquery.NewClient(ctx, "your-project-id")
ds := client.Dataset(datasetID)
meta, err := ds.Metadata(ctx)
if err != nil {
	return err
}

update := bigquery.DatasetMetadataToUpdate{}
update.SetLabel("color", "green")
if _, err := ds.Update(ctx, update, meta.ETag); err != nil {
	return err
}

Java

Neste exemplo, usamos a Biblioteca de cliente HTTP do Google para Java para enviar uma solicitação à API BigQuery.
static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
static final JsonFactory JSON_FACTORY = new JacksonFactory();

public static class Dataset {
  @Key private Map<String, String> labels;

  public Map<String, String> getLabels() {
    return this.labels;
  }

  public Dataset addLabel(String key, String value) {
    if (this.labels == null) {
      this.labels = new HashMap<>();
    }
    this.labels.put(key, value);
    return this;
  }
}

/**
 * Add or modify a label on a dataset.
 *
 * <p>See <a href="https://cloud.google.com/bigquery/docs/labeling-datasets">the BigQuery
 * documentation</a>.
 */
public static void labelDataset(
    String projectId, String datasetId, String labelKey, String labelValue) throws IOException {

  // Authenticate requests using Google Application Default credentials.
  GoogleCredential credential = GoogleCredential.getApplicationDefault();
  credential = credential.createScoped(Arrays.asList("https://www.googleapis.com/auth/bigquery"));

  // Get a new access token.
  // Note that access tokens have an expiration. You can reuse a token rather than requesting a
  // new one if it is not yet expired.
  credential.refreshToken();
  String accessToken = credential.getAccessToken();

  // Set the content of the request.
  Dataset dataset = new Dataset();
  dataset.addLabel(labelKey, labelValue);
  HttpContent content = new JsonHttpContent(JSON_FACTORY, dataset);

  // Send the request to the BigQuery API.
  String urlFormat =
      "https://www.googleapis.com/bigquery/v2/projects/%s/datasets/%s"
          + "?fields=labels&access_token=%s";
  GenericUrl url = new GenericUrl(String.format(urlFormat, projectId, datasetId, accessToken));
  HttpRequestFactory requestFactory = HTTP_TRANSPORT.createRequestFactory();
  HttpRequest request = requestFactory.buildPostRequest(url, content);
  request.setParser(JSON_FACTORY.createJsonObjectParser());

  // Workaround for transports which do not support PATCH requests.
  // See: http://stackoverflow.com/a/32503192/101923
  request.setHeaders(new HttpHeaders().set("X-HTTP-Method-Override", "PATCH"));
  HttpResponse response = request.execute();

  // Check for errors.
  if (response.getStatusCode() != 200) {
    throw new RuntimeException(response.getStatusMessage());
  }

  Dataset responseDataset = response.parseAs(Dataset.class);
  System.out.printf(
      "Updated label \"%s\" with value \"%s\"\n",
      labelKey, responseDataset.getLabels().get(labelKey));
}

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 saber mais informações, consulte a documentação de referência da API BigQuery Python.

# from google.cloud import bigquery
# client = bigquery.Client()
# dataset_ref = client.dataset('my_dataset')
# dataset = client.get_dataset(dataset_ref)  # API request

assert dataset.labels == {}
labels = {'color': 'green'}
dataset.labels = labels

dataset = client.update_dataset(dataset, ['labels'])  # API request

assert dataset.labels == labels

Como atualizar rótulos de tabelas e visualizações

Para atualizar um rótulo depois que uma tabela ou visualização é criada:

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

Permissões exigidas

Para atualizar um rótulo de uma tabela ou visualização, é necessário ter acesso OWNER ao conjunto de dados ou ter um papel de IAM predefinido para envolvidos no projeto e que inclua permissões bigquery.tables.update. Os papéis do IAM predefinidos a seguir para envolvidos no projeto incluem permissões bigquery.tables.update:

Além disso, como o papel bigquery.user tem permissões bigquery.datasets.create, um usuário com o papel bigquery.user pode atualizar tabelas e visualizações em qualquer conjunto de dados criado por ele. Quando um usuário com papel bigquery.user cria um conjunto de dados, recebe acesso de OWNER ao conjunto. O acesso OWNER concede ao usuário controle total sobre o conjunto de dados e as tabelas e visualizações nele.

Para mais informações sobre os papéis e as permissões do IAM no BigQuery, consulte Controle de acesso. Para mais informações sobre os papéis para conjuntos de dados, consulte Papéis primários para conjuntos de dados.

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

Veja como atualizar um rótulo de visualização ou de tabela:

IU clássica

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

  2. Na página de detalhes, à direita de Rótulos, clique em Editar. Este exemplo mostra os detalhes de uma tabela.

    Editar rótulos

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

    • Para aplicar mais rótulos, clique em Adicionar rótulo. Cada chave pode ser usada somente uma vez por conjunto de dados, mas é possível usar a mesma chave em conjuntos de dados diferentes no mesmo projeto.
    • Modifique as chaves ou valores existentes para atualizar um rótulo.
    • Clique em OK.

      Novo rótulo

Linha de comando

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

Se a tabela ou visualização estiver em um projeto diferente do padrão, adicione o código do projeto ao conjunto neste formato: [PROJECT_ID]:[DATASET].

    bq update --set_label [KEY:VALUE] [PROJECT_ID]:[DATASET].[TABLE_OR_VIEW]

Em que:

  • [KEY:VALUE] corresponde a um par chave-valor para um rótulo que você quer adicionar. Se você especificar a mesma chave que a de um rótulo existente, o valor do rótulo existente será atualizado. A chave precisa ser exclusiva;
  • [PROJECT_ID] é o código do projeto;
  • [DATASET] é o conjunto de dados que contém a tabela ou a visualização que você está atualizando;
  • [TABLE_OR_VIEW] é o nome da tabela ou visualização que você está atualizando.

Exemplos:

Para atualizar o rótulo department para mytable, insira o comando bq update e especifique department como a chave do rótulo. Por exemplo, para atualizar o rótulo department:shipping para department:logistics para mytable, digite o seguinte comando. mytable está em myotherproject, não no seu projeto padrão.

    bq update --set_label department:logistics myotherproject:mydataset.mytable

API

Para adicionar rótulos ou atualizar um rótulo em uma tabela ou visualização atual, chame o método tables.patch e adicione ou atualize a propriedade labels do recurso de tabela.

Como as visualizações são tratadas como recursos da tabela, use o método tables.patch para modificar as visualizações e as tabelas.

Como tables.update substitui todo o recurso do conjunto de dados, o método tables.patch é recomendado.

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 saber mais informações, consulte a documentação de referência da API BigQuery Go.

// To run this sample, you will need to create (or reuse) a context and
// an instance of the bigquery client.  For example:
// import "cloud.google.com/go/bigquery"
// ctx := context.Background()
// client, err := bigquery.NewClient(ctx, "your-project-id")
tbl := client.Dataset(datasetID).Table(tableID)
meta, err := tbl.Metadata(ctx)
if err != nil {
	return err
}

update := bigquery.TableMetadataToUpdate{}
update.SetLabel("color", "green")
if _, err := tbl.Update(ctx, update, meta.ETag); err != nil {
	return err
}

Java

Neste exemplo, usamos a Biblioteca de cliente HTTP do Google para Java para enviar uma solicitação à API BigQuery.
public static class Table {
  @Key private Map<String, String> labels;

  public Map<String, String> getLabels() {
    return this.labels;
  }

  public Table addLabel(String key, String value) {
    if (this.labels == null) {
      this.labels = new HashMap<>();
    }
    this.labels.put(key, value);
    return this;
  }
}

/**
 * Add or modify a label on a table.
 *
 * <p>See <a href="https://cloud.google.com/bigquery/docs/labeling-datasets">the BigQuery
 * documentation</a>.
 */
public static void labelTable(
    String projectId,
    String datasetId,
    String tableId,
    String labelKey,
    String labelValue)
    throws IOException {

  // Authenticate requests using Google Application Default credentials.
  GoogleCredential credential = GoogleCredential.getApplicationDefault();
  credential = credential.createScoped(Arrays.asList("https://www.googleapis.com/auth/bigquery"));

  // Get a new access token.
  // Note that access tokens have an expiration. You can reuse a token rather than requesting a
  // new one if it is not yet expired.
  credential.refreshToken();
  String accessToken = credential.getAccessToken();

  // Set the content of the request.
  Table table = new Table();
  table.addLabel(labelKey, labelValue);
  HttpContent content = new JsonHttpContent(JSON_FACTORY, table);

  // Send the request to the BigQuery API.
  String urlFormat =
      "https://www.googleapis.com/bigquery/v2/projects/%s/datasets/%s/tables/%s"
          + "?fields=labels&access_token=%s";
  GenericUrl url =
      new GenericUrl(String.format(urlFormat, projectId, datasetId, tableId, accessToken));
  HttpRequestFactory requestFactory = HTTP_TRANSPORT.createRequestFactory();
  HttpRequest request = requestFactory.buildPostRequest(url, content);
  request.setParser(JSON_FACTORY.createJsonObjectParser());

  // Workaround for transports which do not support PATCH requests.
  // See: http://stackoverflow.com/a/32503192/101923
  request.setHeaders(new HttpHeaders().set("X-HTTP-Method-Override", "PATCH"));
  HttpResponse response = request.execute();

  // Check for errors.
  if (response.getStatusCode() != 200) {
    throw new RuntimeException(response.getStatusMessage());
  }

  Table responseTable = response.parseAs(Table.class);
  System.out.printf(
      "Updated label \"%s\" with value \"%s\"\n",
      labelKey, responseTable.getLabels().get(labelKey));
}

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 saber 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

assert table.labels == {}
labels = {'color': 'green'}
table.labels = labels

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

assert table.labels == labels

Como atualizar rótulos de job

Atualmente, não é possível atualizar um rótulo de job. Para atualizar o rótulo de um job, reenvie o job com um novo rótulo especificado.

Como excluir rótulos

Para remover um rótulo de um conjunto de dados, uma tabela ou uma visualização, use o Console do GCP, a IU da Web do BigQuery, o comando bq update da ferramenta de linha de comando ou chame um dos métodos da API, datasets.patch ou tables.patch.

Como excluir um rótulo de conjunto de dados

Para remover o rótulo de um conjunto de dados:

  • use o Console do GCP ou a IU da Web clássica do BigQuery;
  • use o comando bq update da ferramenta de linha de comando;
  • chame o método de API datasets.patch.

Permissões exigidas

Para remover um rótulo de um conjunto de dados, é necessário ter acesso OWNER ao conjunto de dados ou ter um papel de IAM predefinido para envolvidos no projeto e que inclua permissões bigquery.datasets.update. Os seguintes papéis do IAM predefinidos para envolvidos no projeto incluem permissões bigquery.datasets.update:

Além disso, como o papel bigquery.user tem permissões bigquery.datasets.create, um usuário com bigquery.user pode atualizar qualquer conjunto de dados criado por ele. Quando um usuário com papel bigquery.user cria um conjunto de dados, recebe acesso de OWNER ao conjunto. Com o acesso OWNER, o usuário tem controle total sobre o conjunto de dados.

Para mais informações sobre os papéis e as permissões do IAM no BigQuery, consulte Controle de acesso. Para mais informações sobre os papéis para conjuntos de dados, consulte Papéis primários para conjuntos de dados.

Como excluir um rótulo de conjunto de dados

Veja como remover um rótulo de um conjunto de dados:

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

Linha de comando

Para remover um rótulo de conjunto de dados, insira 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 código do projeto ao conjunto neste formato: [PROJECT_ID]:[DATASET].

    bq update --clear_label [KEY] [PROJECT_ID]:[DATASET]

Em que:

  • [KEY] é a chave para 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, insira 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, insira 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 no projeto padrão, digite:

    bq update --clear_label department --clear_label cost_center mydataset

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 do recurso do conjunto de dados. Para isso, defina o valor da chave 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, recomenda-se 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 saber mais informações, consulte a documentação de referência da API BigQuery Go.

// To run this sample, you will need to create (or reuse) a context and
// an instance of the bigquery client.  For example:
// import "cloud.google.com/go/bigquery"
// ctx := context.Background()
// client, err := bigquery.NewClient(ctx, "your-project-id")
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
}

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 saber mais informações, consulte a documentação de referência da API BigQuery Python.

# from google.cloud import bigquery
# client = bigquery.Client()
# dataset_ref = client.dataset('my_dataset')
# dataset = client.get_dataset(dataset_ref)  # API request

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

dataset = client.update_dataset(dataset, ['labels'])  # API request

assert dataset.labels == {}

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 GCP ou a IU da Web clássica do BigQuery;
  • use o comando bq update da ferramenta de linha de comando;
  • chame o método de API tables.patch.
    • Como as visualizações são tratadas como recursos da tabela, use o método tables.patch para modificar as visualizações e as tabelas.

Permissões exigidas

Para remover um rótulo de uma tabela ou visualização, é necessário ter acesso OWNER ao conjunto de dados ou ter um papel de IAM predefinido para envolvidos no projeto e que inclua permissões bigquery.tables.update. Os papéis do IAM predefinidos a seguir para envolvidos no projeto incluem permissões bigquery.tables.update:

Além disso, como o papel bigquery.user tem permissões bigquery.datasets.create, um usuário atribuído ao papel bigquery.user pode atualizar uma tabela ou visualização em qualquer conjunto de dados que ele crie. Quando um usuário com papel bigquery.user cria um conjunto de dados, recebe acesso de OWNER ao conjunto. O acesso OWNER concede ao usuário o controle total sobre o conjunto de dados e todas as tabelas e visualizações nele.

Para mais informações sobre os papéis e as permissões do IAM no BigQuery, consulte Controle de acesso. Para mais informações sobre os papéis para conjuntos de dados, consulte Papéis primários para conjuntos de dados.

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

Veja como remover um rótulo de uma tabela ou visualização:

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

Linha de comando

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 visualização estiver em um projeto diferente do padrão, adicione o código do projeto ao conjunto neste formato: [PROJECT_ID]:[DATASET].

    bq update --clear_label [KEY] [PROJECT_ID]:[TABLE_OR_VIEW]

Em que:

  • [KEY] é a chave para 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, insira 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, insira 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 projeto padrão, digite:

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

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 do recurso de tabela definindo o valor da chave 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 da tabela, use o método tables.patch para modificar as visualizações e as tabelas. Além disso, como tables.update substitui todo o recurso do conjunto de dados, recomenda-se 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 saber mais informações, consulte a documentação de referência da API BigQuery Go.

// To run this sample, you will need to create (or reuse) a context and
// an instance of the bigquery client.  For example:
// import "cloud.google.com/go/bigquery"
// ctx := context.Background()
// client, err := bigquery.NewClient(ctx, "your-project-id")
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
}

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 saber 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

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

Como converter um rótulo em uma tag

Um rótulo que tem uma chave com um valor vazio é usado como uma tag. Crie um novo rótulo sem valor ou pode transformar um atual em uma tag.

As tags podem ser úteis em situações em que você está rotulando um recurso, mas não precisa do formato chave-valor. Por exemplo, se você tem uma tabela que contenha dados de teste usados por vários grupos (suporte, desenvolvimento e assim por diante), pode adicionar uma tag test_data à tabela para identificá-la.

Veja como converter um rótulo em uma tag:

IU clássica

  1. Na IU da Web, selecione o recurso apropriado (um conjunto de dados, tabela ou visualização).

  2. Para conjuntos de dados, a página Detalhes do conjunto de dados é aberta automaticamente. Para tabelas e visualizações, clique em Detalhes para abrir essa página.

  3. Na página de detalhes, à direita de Rótulos, clique em Editar.

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

    • Exclua o valor de um rótulo atual.
    • Clique em OK.

      Adicionar tag

Linha de comando

Para converter um rótulo em tag, use o comando bq update com a sinalização set_label. Especifique a chave, seguida por dois-pontos, mas deixe o valor sem especificação. Isso atualiza um rótulo existente para uma tag.

bq update --set_label [KEY]: [RESOURCE_ID]

Em que:

  • [KEY] é a chave de rótulo que você quer atualizar para uma tag;
  • [RESOURCE_ID] é um conjunto de dados válido, uma tabela ou um nome de visualização. Se o recurso estiver em um projeto diferente do projeto padrão, adicione o código do projeto neste formato: [PROJECT_ID]:[DATASET].

Exemplos:

Digite o comando a seguir para alterar o rótulo test_data:development existente em mydataset para uma tag. mydataset está em myotherproject, não no projeto padrão.

bq update --set_label test_data: myotherproject:mydataset

API

Para transformar um rótulo atual em uma tag, chame o método datasets.patch ou tables.patch e substitua os valores do rótulo pela string vazia ("") no recurso do conjunto de dados ou no recurso de tabela.

Como as visualizações são tratadas como recursos da tabela, use o método tables.patch para modificar as visualizações e as tabelas. Além disso, como tables.update substitui todo o recurso do conjunto de dados, recomenda-se o método tables.patch.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Precisa de ajuda? Acesse nossa página de suporte.