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 da ferramenta de linha de comando bq mk ou chamando o método datasets.insert da API. No momento, não é possível adicionar um rótulo a um conjunto de dados quando ele é criado usando o Console do Cloud.

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:

  • Como usar o Console do Cloud
  • use o comando bq update da ferramenta de linha de comando bq;
  • chamar 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 seguintes papéis predefinidos do IAM incluem as permissões bigquery.datasets.update:

  • 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 adicione rótulos aos seus conjuntos de dados.

Para mais informações sobre os papéis e as permissões do 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:

    • 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 Update to save your changes.

bq

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

Substitua:

  • KEY:VALUE: um par de chave-valor para um rótulo que você quer adicionar. A chave precisa ser única.
  • PROJECT_ID: o ID 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 essa amostra, siga as instruções de configuração para 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 do BigQuery para 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)
	}
	defer client.Close()

	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 essa amostra, siga as instruções de configuração para 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 do BigQuery para Java.

Ver no GitHub (em inglês) Feedback
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 essa amostra, siga as instruções de configuração para 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 do BigQuery para 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 essa amostra, siga as instruções de configuração para 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 em Python.

Ver no GitHub (em inglês) Feedback

from google.cloud import bigquery

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

  • use o comando bq mk da ferramenta de linha de comando bq;
  • 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:

  • Como usar o Console do Cloud
  • use o comando bq update da ferramenta de linha de comando bq;
  • fazendo uma 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 de IAM incluem as 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 adicione rótulos a tabelas e visualizações nos seus conjuntos de dados.

Para mais informações sobre os papéis e as permissões do 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 Details.

    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:

    • 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 Update to save your changes.

SQL

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 Run query.

bq

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

Substitua:

  • KEY:VALUE: um par de chave-valor para um rótulo que você quer adicionar. A chave precisa ser única.
  • PROJECT_ID: o ID do projeto.
  • DATASET: o conjunto de dados que contém a tabela ou a visualização que você está rotulando.
  • 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 essa amostra, siga as instruções de configuração para 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 do BigQuery para 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)
	}
	defer client.Close()

	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 essa amostra, siga as instruções de configuração para 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 do BigQuery para Java.

Ver no GitHub (em inglês) Feedback
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 essa amostra, siga as instruções de configuração para 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 do BigQuery para 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 essa amostra, siga as instruções de configuração para 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 em Python.

Ver no GitHub (em inglês) Feedback
# from google.cloud import bigquery
# client = bigquery.Client()
# project = client.project
# dataset_ref = bigquery.DatasetReference(project, dataset_id)
# table_ref = dataset_ref.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 usando a sinalização --label da ferramenta de linha de comando bq. A ferramenta bq permite a adição de rótulos apenas aos 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 seguintes papéis predefinidos do IAM incluem as permissões bigquery.jobs.create:

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

Para mais informações sobre os papéis e as permissões do 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.

bq

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'

Substitua:

  • KEY:VALUE: um par de chave-valor para um rótulo que você quer adicionar ao job de consulta. A chave precisa ser única. 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:

    • 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 Update to save your changes.

SQL

As instruções da linguagem de definição de dados (DDL, na sigla em inglês) permitem criar e modificar tabelas e visualizações usando a sintaxe de consulta 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 Run query.

bq

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

Substitua:

  • KEY:: a chave de rótulo que você quer usar como uma tag.
  • RESOURCE_ID: um nome de conjunto de dados, tabela ou visualização válido. 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