Como adicionar rótulos a recursos

Nesta página, explicamos como adicionar rótulos aos recursos do BigQuery.

Como adicionar rótulos de conjunto de dados

É possível adicionar um rótulo a um conjunto de dados do BigQuery quando ele é criado usando o comando bq mk da ferramenta de linha de comando ou chamando o método datasets.insertda API. No momento, não é possível adicionar um rótulo a um conjunto de dados quando ele é criado por meio do Console do Cloud ou da versão clássica da IU da Web do BigQuery.

Nesta página, discutimos como adicionar um rótulo a um conjunto de dados depois de ele ser criado: Para mais informações sobre como adicionar um rótulo quando você cria um conjunto de dados, consulte Como criar um conjunto de dados.

Para adicionar um rótulo depois que um conjunto de dados é criado:

  • Use o Console do Cloud ou a IU da Web clássica do BigQuery;
  • Como usar o comando bq update da ferramenta de linha de comando.
  • Chame o método de API datasets.patch.
  • usando as bibliotecas de cliente.

A inclusão de um rótulo em um conjunto de dados não o propaga para os recursos dentro do conjunto. Rótulos de conjuntos de dados não são herdados por tabelas ou visualizações. Quando você inclui um rótulo em um conjunto de dados, ele é incluído nos dados de faturamento do armazenamento. No entanto, os rótulos de conjuntos de dados não aparecerão nos dados de faturamento relacionados a jobs.

Permissões necessárias

É preciso, pelo menos, ter as permissões bigquery.datasets.update para adicionar um rótulo a um conjunto de dados existente. Os papéis predefinidos do Cloud IAM abaixo incluem permissões bigquery.datasets.update:

  • bigquery.dataOwner
  • bigquery.admin

Além disso, se um usuário tem permissões bigquery.datasets.create e cria um conjunto de dados, ele recebe acesso bigquery.dataOwner ao conjunto. O acesso bigquery.dataOwner permite que o usuário adicione rótulos aos seus 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 adicionar um rótulo a um conjunto de dados

Para adicionar um rótulo a um conjunto de dados após ele ser criado, 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, faça isto:

    • Clique em Adicionar rótulo.
    • Insira a chave e o valor para adicionar um rótulo. 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 diferentes no mesmo projeto.
    • Modifique as chaves ou valores para atualizar um rótulo.
    • Clique em Atualizar para salvar as alterações.

IU clássica

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

  2. Na página Dataset Details, à direita de Labels, clique em Edit.

    Editar rótulos

  3. Na caixa de diálogo Editar rótulos, faça isto:

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

      Novo rótulo

CLI

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

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

bq update --set_label key:value project_id:dataset

Em que:

  • key:value corresponde a um par chave-valor do rótulo que você quer adicionar. A chave precisa ser exclusiva.
  • project_id é o código do projeto.
  • dataset é o conjunto de dados que você está rotulando.

Exemplos:

Para adicionar um rótulo que rastreia departamentos, insira o comando bq update e especifique o department como a chave do rótulo. Por exemplo, para adicionar um rótulo department:shipping ao mydataset no seu projeto padrão, insira:

    bq update --set_label department:shipping mydataset

Para adicionar vários rótulos a um conjunto de dados, repita a sinalização set_label e especifique uma chave única para cada rótulo. Por exemplo, para adicionar um rótulo department:shipping e um rótulo cost_center:logistics ao mydataset no seu projeto padrão, insira:

    bq update \
    --set_label department:shipping \
    --set_label cost_center:logistics \
    mydataset

API

Para adicionar um rótulo a um conjunto de dados existente, chame o método datasets.patch e preencha a property labels para o recurso do conjunto de dados.

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

// addDatasetLabel demonstrates adding label metadata to an existing dataset.
func addDatasetLabel(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.SetLabel("color", "green")
	if _, err := ds.Update(ctx, update, meta.ETag); err != nil {
		return err
	}
	return nil
}

Java

Nesta amostra, a biblioteca de cliente HTTP do Google para Java é usada para enviar uma solicitação à API BigQuery.

Antes de testar esta amostra, siga as instruções de configuração do Java 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 Java (em inglês).

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));
}

Node.js

Antes de testar esta amostra, siga as instruções de configuração do Node.js 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 Node.js.

// Import the Google Cloud client library
const {BigQuery} = require('@google-cloud/bigquery');
const bigquery = new BigQuery();

async function labelDataset() {
  // Updates a label on a dataset.

  /**
   * TODO(developer): Uncomment the following lines before running the sample
   */
  // const datasetId = "my_dataset";

  // Retrieve current dataset metadata.
  const dataset = bigquery.dataset(datasetId);
  const [metadata] = await dataset.getMetadata();

  // Add label to dataset metadata
  metadata.labels = {color: 'green'};
  const [apiResponse] = await dataset.setMetadata(metadata);

  console.log(`${datasetId} labels:`);
  console.log(apiResponse.labels);
}

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.
dataset.labels = {"color": "green"}
dataset = client.update_dataset(dataset, ["labels"])  # Make an API request.

print("Labels added to {}".format(dataset_id))

Como adicionar rótulos a tabelas e visualizações

Para adicionar um rótulo a uma tabela ou visualização ao criá-la:

  • Como usar o comando bq mk da ferramenta de linha de comando
  • Chame o tables.insert método de API

Nesta página, discutimos como adicionar um rótulo a uma visualização ou tabela atual. Para mais informações sobre como adicionar um rótulo ao criar uma tabela ou visualização, consulte Como criar uma tabela ou Como criar uma visualização.

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

  • Use o Console do Cloud ou a IU da Web clássica do BigQuery;
  • Como usar o comando bq update da ferramenta de linha de comando.
  • Chamada do método de API tables.patch
  • usando as bibliotecas de cliente.

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

Permissões necessárias

É preciso, pelo menos, ter as permissões bigquery.tables.update e bigquery.tables.get para adicionar um rótulo a uma tabela ou visualização existente. 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 tem permissões bigquery.datasets.create e cria um conjunto de dados, ele recebe acesso bigquery.dataOwner ao conjunto. O acesso bigquery.dataOwner permite que o usuário adicione rótulos a tabelas e visualizações nos seus 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 adicionar um rótulo a uma tabela ou visualização

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

Console

  1. No Console do Cloud, selecione a tabela ou a visualização.

  2. Clique na guia Detalhes.

    Detalhes da tabela

  3. Clique no ícone de lápis à direita de Rótulos.

    Lápis de rótulo

  4. Na caixa de diálogo Editar rótulos, faça isto:

    • Clique em Adicionar rótulo.
    • Insira a chave e o valor para adicionar um rótulo. 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 diferentes no mesmo projeto.
    • Modifique as chaves ou os valores para atualizar um rótulo.
    • Clique em Atualizar para salvar as alterações.

DDL

Com as instruções de linguagem de definição de dados (DDL, na sigla em inglês), é possível criar e modificar tabelas e visualizações usando a sintaxe de consulta do SQL padrão.

Saiba mais sobre Como usar as instruções da linguagem de definição de dados.

Para adicionar um rótulo usando uma instrução DDL no Console do Cloud:

  1. Clique em Escrever nova consulta.

  2. Digite a instrução DDL na área de texto do Editor de consultas.

     ALTER TABLE mydataset.mytable
     SET OPTIONS (
       labels=[("department", "shipping"), ("cost_center", "logistics")]
     )
     

  3. Clique em Executar consulta.

IU clássica

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

  2. Na página de detalhes, à direita de Labels, clique em Edit. Este exemplo mostra os detalhes de uma tabela.

    Editar rótulos

  3. Na caixa de diálogo Editar rótulos, faça isto:

    • Insira a chave e o valor para adicionar um rótulo. Para aplicar mais rótulos, clique em Add Label. Cada chave pode ser usada apenas uma vez por tabela ou visualização, mas é possível usar a mesma chave em tabelas ou visualizações em conjuntos de dados diferentes.
    • Clique em Ok.

      Novo rótulo

CLI

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

Se a tabela ou a visualização estiver em um projeto diferente do seu projeto padrão, adicione o ID do projeto ao conjunto de dados no seguinte 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 do rótulo que você quer adicionar. A chave precisa ser exclusiva.
  • project_id é o código do projeto.
  • dataset é o conjunto de dados que contém a tabela em que você está adicionando um rótulo.
  • table_or_view é o nome da tabela ou visualização que você está rotulando.

Exemplos:

Para adicionar um rótulo de tabela que rastreia departamentos, insira o comando bq update e especifique o department como a chave do rótulo. Por exemplo, para adicionar um rótulo department:shipping ao mytable no seu projeto padrão, insira:

    bq update --set_label department:shipping mydataset.mytable

Para adicionar um rótulo de visualização que rastreia departamentos, insira o comando bq update e especifique o department como a chave do rótulo. Por exemplo, para adicionar um rótulo department:shipping ao myview no seu projeto padrão, insira:

    bq update --set_label department:shipping mydataset.myview

Para adicionar vários rótulos a uma tabela ou visualização, repita a sinalização set_label e especifique uma chave única para cada rótulo. Por exemplo, para adicionar um rótulo department:shipping e um rótulo cost_center:logistics ao mytable no seu projeto padrão, insira:

    bq update \
    --set_label department:shipping \
    --set_label cost_center:logistics \
    mydataset.mytable

API

Para adicionar um rótulo a uma tabela ou visualização existente, chame o método tables.patch e preencha a property labels para o recurso da tabela.

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

// addTableLabel demonstrates adding Label metadata to a BigQuery table.
func addTableLabel(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.SetLabel("color", "green")
	if _, err := tbl.Update(ctx, update, meta.ETag); err != nil {
		return err
	}
	return nil
}

Java

Nesta amostra, a biblioteca de cliente HTTP do Google para Java é usada para enviar uma solicitação à API BigQuery.

Antes de testar esta amostra, siga as instruções de configuração do Java 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 Java (em inglês).

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));
}

Node.js

Antes de testar esta amostra, siga as instruções de configuração do Node.js 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 Node.js.

// Import the Google Cloud client library
const {BigQuery} = require('@google-cloud/bigquery');
const bigquery = new BigQuery();

async function labelTable() {
  // Adds a label to an existing table.

  /**
   * TODO(developer): Uncomment the following lines before running the sample.
   */
  // const datasetId = 'my_dataset';
  // const tableId = 'my_table';

  const dataset = bigquery.dataset(datasetId);
  const [table] = await dataset.table(tableId).get();

  // Retrieve current table metadata
  const [metadata] = await table.getMetadata();

  // Add label to table metadata
  metadata.labels = {color: 'green'};
  const [apiResponse] = await table.setMetadata(metadata);

  console.log(`${tableId} labels:`);
  console.log(apiResponse.labels);
}

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

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

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

assert table.labels == labels

Como adicionar rótulos a jobs

Rótulos podem ser adicionados aos jobs de consulta via linha de comando por meio do uso da sinalização --label da ferramenta de linha de comando. Com a ferramenta de linha de comando, só é possível adicionar rótulos em jobs de consulta.

Quando um job é enviado por meio da API, é possível adicionar um rótulo a ele ao especificar a property labels na configuração do job quando você chamar o método jobs.insert. A API pode ser usada para adicionar rótulos a qualquer tipo de job.

Não é possível adicionar ou atualizar rótulos em jobs pendentes, em execução ou concluídos.

Quando você adiciona um rótulo a um job, o rótulo é incluído nos seus dados de faturamento.

Permissões necessárias

Não é necessária nenhuma permissão especial para adicionar um rótulo a um job. Se você tiver permissões bigquery.jobs.create, é possível adicionar um rótulo ao seu job quando for enviá-lo.

Para executar um job, é preciso pelo menos ter as permissões bigquery.jobs.create. As permissões bigquery.jobs.create são necessárias para jobs criados automaticamente pelo BigQuery e também para jobs executados de modo programático.

Os papéis predefinidos do Cloud IAM abaixo incluem permissões bigquery.jobs.create:

  • bigquery.user
  • bigquery.jobUser
  • bigquery.admin

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

Como adicionar um rótulo a um job

Observe o seguinte ao adicionar um rótulo a um job:

Console

O Console do Cloud não é compatível com a adição de rótulos em jobs.

IU clássica

Não é possível adicionar rótulos a jobs usando a IU da Web clássica do BigQuery.

CLI

Para adicionar um rótulo a um job de consulta, envie o comando bq query com a sinalização --label. Repita a sinalização para adicionar vários rótulos. A sinalização --nouse_legacy_sql indica que sua consulta está na sintaxe SQL padrão.

bq query --label key:value --nouse_legacy_sql 'query'

Em que:

  • key:value corresponde a um par chave-valor para um rótulo que você quer adicionar ao job de consulta. A chave precisa ser exclusiva. Para adicionar vários rótulos a um job de consulta, repita a sinalização --label e especifique uma chave única para cada rótulo.
  • query é uma consulta SQL padrão válida.

Exemplos:

Para adicionar um rótulo a um job de consulta, digite:

    bq query \
    --label department:shipping \
    --nouse_legacy_sql \
    'SELECT
       column1, column2
     FROM
       `mydataset.mytable`'

Para adicionar vários rótulos a um job de consulta, repita a sinalização --label e especifique uma chave única para cada rótulo. Por exemplo, para adicionar um rótulo department:shipping e um rótulo cost_center:logistics a um job de consulta, insira:

    bq query \
    --label department:shipping \
    --label cost_center:logistics \
    --nouse_legacy_sql \
    'SELECT
       column1, column2
     FROM
       `mydataset.mytable`'

API

Para adicionar um rótulo a um job, chame o método jobs.insert e preencha a property labels para a configuração do job. É possível usar a API para adicionar rótulos a qualquer tipo de job.

Como adicionar uma tag

Um rótulo que tem uma chave com um valor vazio é usado como tag. Crie um novo rótulo sem valor ou transforme 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ê tiver uma tabela que contém dados de teste usados por vários grupos (suporte, desenvolvimento, entre outros), é possível adicionar uma tag test_data à tabela para identificá-la.

Para adicionar uma tag:

Console

  1. No Console do Cloud, selecione o recurso apropriado (um conjunto de dados, uma tabela ou uma visualização).

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

    Detalhes da tabela

  3. Na página de detalhes, clique no ícone de lápis à direita de Rótulos.

    Lápis de rótulo

  4. Na caixa de diálogo Editar rótulos, faça isto:

    • Clique em Adicionar rótulo.
    • Insira uma nova chave e deixe o valor em branco. Para aplicar outros rótulos, clique em Adicionar rótulo e repita o processo.
    • Clique em Atualizar para salvar as alterações.

DDL

Com as instruções de linguagem de definição de dados (DDL, na sigla em inglês), é possível criar e modificar tabelas e visualizações usando a sintaxe de consulta do SQL padrão.

Saiba mais sobre Como usar as instruções da linguagem de definição de dados.

Para adicionar uma tag usando uma instrução DDL no Console do Cloud:

  1. Clique em Escrever nova consulta.

  2. Digite a instrução DDL na área de texto do Editor de consultas.

     ALTER TABLE mydataset.mytable
     SET OPTIONS (
       labels=[("tag1", ""), ("tag2", "")]
     )
     

  3. Clique em Executar consulta.

IU clássica

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

  2. Para conjuntos de dados, a página Dataset Details é 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, faça isto:

    • Insira uma nova chave e deixe o valor em branco. Para aplicar mais tags, clique em Adicionar rótulo.
    • Clique em Ok.

      Incluir tag

CLI

Para adicionar uma tag a um recurso existente, use o comando bq update com a sinalização set_label. Determine a chave, seguida por dois-pontos, mas deixe o valor sem especificação.

bq update --set_label key: resource_id

Em que:

  • key: é a chave de rótulo que você quer usar como tag.
  • resource_id é um nome válido do conjunto de dados, tabela ou visualização. Se o recurso estiver em um projeto diferente do seu projeto padrão, adicione o ID do projeto no seguinte formato: project_id:dataset.

Exemplos:

Insira o seguinte comando para criar uma tag test_data para mydataset.mytable. mydataset está em seu projeto padrão.

bq update --set_label test_data: mydataset

API

Chame o método datasets.patch ou o método tables.patch e adicione rótulos com o valor definido para a string vazia ("") no recurso do conjunto de dados ou no recurso da tabela. Para transformar os rótulos existentes em tags, substitua os respectivos valores pela string vazia.

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.

A seguir