Adicionar etiquetas a recursos

Esta página explica como etiquetar os seus recursos do BigQuery.

Antes de começar

Conceda funções de gestão de identidade e acesso (IAM) que dão aos utilizadores as autorizações necessárias para realizar cada tarefa neste documento. Todas as autorizações necessárias para realizar uma tarefa são apresentadas na secção "Funções de IAM necessárias" da tarefa.

Adicione etiquetas a conjuntos de dados

Pode adicionar uma etiqueta a um conjunto de dados do BigQuery quando o cria através do comando bq mk da ferramenta de linha de comandos bq ou chamando o método datasets.insert API. Não pode adicionar uma etiqueta a um conjunto de dados quando este é criado através da consola Google Cloud .

Esta página aborda como adicionar uma etiqueta a um conjunto de dados depois de este ser criado. Para mais informações sobre como adicionar uma etiqueta quando cria um conjunto de dados, consulte Criar um conjunto de dados.

Quando adiciona uma etiqueta a um conjunto de dados, esta não é propagada aos recursos no conjunto de dados. As etiquetas do conjunto de dados não são herdadas pelas tabelas nem pelas vistas. Além disso, quando adiciona uma etiqueta a um conjunto de dados, esta é incluída nos dados de faturação do armazenamento, mas não nos dados de faturação relacionados com tarefas.

Para mais detalhes sobre o formato de uma etiqueta, consulte os Requisitos para etiquetas.

Funções de IAM necessárias

Para receber a autorização de que precisa para adicionar uma etiqueta a um conjunto de dados existente, peça ao seu administrador para lhe conceder a função do IAM editor de dados do BigQuery (roles/bigquery.dataEditor). Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Esta função predefinida contém a autorização bigquery.datasets.update , que é necessária para adicionar uma etiqueta a um conjunto de dados existente.

Também pode obter esta autorização com funções personalizadas ou outras funções predefinidas.

Para mais informações sobre as funções e as autorizações do IAM no BigQuery, consulte o artigo Funções e autorizações predefinidas.

Adicione uma etiqueta a um conjunto de dados

Para adicionar uma etiqueta a um conjunto de dados depois de este ser criado:

Consola

  1. Na Google Cloud consola, selecione o conjunto de dados.

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

    Lápis de etiquetas.

  3. Na caixa de diálogo Editar etiquetas:

    • Clique em Adicionar etiqueta
    • Introduza a chave e o valor. Para aplicar etiquetas adicionais, clique em Adicionar etiqueta. Cada chave só pode ser usada uma vez por conjunto de dados, mas pode usar a mesma chave em diferentes conjuntos de dados no mesmo projeto.
    • Para atualizar uma etiqueta, modifique as chaves ou os valores existentes.
    • Para guardar as alterações, clique em Atualizar.

SQL

Use a ALTER SCHEMA SET OPTIONS declaração DDL para definir as etiquetas num conjunto de dados existente. A definição de etiquetas substitui todas as etiquetas existentes no conjunto de dados. O exemplo seguinte define uma etiqueta no conjunto de dados mydataset:

  1. Na Google Cloud consola, aceda à página BigQuery.

    Aceda ao BigQuery

  2. No editor de consultas, introduza a seguinte declaração:

    ALTER SCHEMA mydataset
    SET OPTIONS (
      labels = [('sensitivity', 'high')]);

  3. Clique em Executar.

Para mais informações sobre como executar consultas, consulte o artigo Execute uma consulta interativa.

bq

Para adicionar uma etiqueta a um conjunto de dados existente, execute o comando bq update com a flag set_label. Repita a flag para adicionar várias etiquetas.

Se o conjunto de dados estiver num projeto diferente do projeto predefinido, 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 o seguinte:

  • KEY:VALUE: um par de chave-valor para uma etiqueta que quer adicionar. A chave tem de ser exclusiva. As chaves e os valores só podem conter letras minúsculas, carateres numéricos, sublinhados e travessões. Todos os carateres têm de usar a codificação UTF-8, e os carateres internacionais são permitidos.
  • PROJECT_ID: o ID do seu projeto.
  • DATASET: o conjunto de dados que está a etiquetar.

Exemplos:

Para adicionar uma etiqueta para acompanhar os departamentos, introduza o comando bq update e especifique department como a chave da etiqueta. Por exemplo, para adicionar uma etiqueta department:shipping a mydataset no seu projeto predefinido, introduza:

    bq update --set_label department:shipping mydataset

Para adicionar várias etiquetas a um conjunto de dados, repita a flag set_label e especifique uma chave única para cada etiqueta.Por exemplo, para adicionar uma etiqueta department:shipping e uma etiqueta cost_center:logistics a mydataset no seu projeto predefinido, introduza:

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

API

Para adicionar uma etiqueta a um conjunto de dados existente, chame o método datasets.patch e preencha a propriedade labels para o recurso dataset.

Uma vez que o método datasets.update substitui o recurso do conjunto de dados completo, é preferível usar o método datasets.patch.

Go

Antes de experimentar este exemplo, siga as Goinstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Go BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

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

Este exemplo usa a biblioteca cliente HTTP Google para Java para enviar um pedido à API BigQuery.

Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryException;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.Dataset;
import java.util.HashMap;
import java.util.Map;

// Sample to updates a label on dataset
public class LabelDataset {

  public static void main(String[] args) {
    // TODO(developer): Replace these variables before running the sample.
    String datasetName = "MY_DATASET_NAME";
    labelDataset(datasetName);
  }

  public static void labelDataset(String datasetName) {
    try {
      // Initialize client that will be used to send requests. This client only needs to be created
      // once, and can be reused for multiple requests.
      BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();

      // This example dataset starts with existing label { color: 'green' }
      Dataset dataset = bigquery.getDataset(datasetName);
      // Add label to dataset
      Map<String, String> labels = new HashMap<>();
      labels.put("color", "green");

      dataset.toBuilder().setLabels(labels).build().update();
      System.out.println("Label added successfully");
    } catch (BigQueryException e) {
      System.out.println("Label was not added. \n" + e.toString());
    }
  }
}

Node.js

Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Node.js BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

// 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 experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Python BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.


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

Adicione etiquetas a tabelas e vistas

Esta página aborda como adicionar uma etiqueta a uma tabela ou vista existente. Para mais informações sobre como adicionar uma etiqueta quando cria uma tabela ou uma vista, consulte Criar uma tabela ou Criar uma vista.

Uma vez que as vistas são tratadas como recursos de tabelas, usa o método tables.patch para modificar vistas e tabelas.

Funções de IAM necessárias

Para receber as autorizações de que precisa para adicionar uma etiqueta a uma tabela ou uma vista existente, peça ao seu administrador que lhe conceda a função de IAM editor de dados do BigQuery (roles/bigquery.dataEditor). Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Esta função predefinida contém as autorizações necessárias para adicionar uma etiqueta a uma tabela ou uma vista existente. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:

Autorizações necessárias

São necessárias as seguintes autorizações para adicionar uma etiqueta a uma tabela ou uma vista existente:

  • bigquery.tables.update
  • bigquery.tables.get

Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.

Para mais informações sobre as funções e as autorizações do IAM no BigQuery, consulte o artigo Funções e autorizações predefinidas.

Adicione uma etiqueta a uma tabela ou a uma vista

Para adicionar uma etiqueta a uma tabela ou vista existente:

Consola

  1. Na Google Cloud consola, selecione a tabela ou a vista.

  2. Clique no separador Detalhes.

    Detalhes da tabela.

  3. Clique no ícone de lápis à direita de Etiquetas.

    Lápis de etiquetas.

  4. Na caixa de diálogo Editar etiquetas:

    • Clique em Adicionar etiqueta
    • Introduza a chave e o valor para adicionar uma etiqueta. Para aplicar etiquetas adicionais, clique em Adicionar etiqueta. Cada chave só pode ser usada uma vez por conjunto de dados, mas pode usar a mesma chave em diferentes conjuntos de dados no mesmo projeto.
    • Modifique chaves ou valores existentes para atualizar uma etiqueta.
    • Clique em Atualizar para guardar as alterações.

SQL

Use a ALTER TABLE SET OPTIONS declaração DDL para definir as etiquetas numa tabela existente ou a ALTER VIEW SET OPTIONS declaração DDL para definir as etiquetas numa vista existente. A definição de etiquetas substitui quaisquer etiquetas existentes na tabela ou na vista. O exemplo seguinte define duas etiquetas na tabela mytable:

  1. Na Google Cloud consola, aceda à página BigQuery.

    Aceda ao BigQuery

  2. No editor de consultas, introduza a seguinte declaração:

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

  3. Clique em Executar.

Para mais informações sobre como executar consultas, consulte o artigo Execute uma consulta interativa.

bq

Para adicionar uma etiqueta a uma tabela ou vista existente, execute o comando bq update com a flag set_label. Para adicionar várias etiquetas, repita a flag.

Se a tabela ou a vista estiver num projeto diferente do projeto predefinido, 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 o seguinte:

  • KEY:VALUE: um par de chave-valor para uma etiqueta que quer adicionar. A chave tem de ser exclusiva. As chaves e os valores só podem conter letras minúsculas, carateres numéricos, sublinhados e travessões. Todos os carateres têm de usar a codificação UTF-8, e os carateres internacionais são permitidos.
  • PROJECT_ID: o ID do seu projeto.
  • DATASET: o conjunto de dados que contém a tabela ou a vista que está a etiquetar.
  • TABLE_OR_VIEW: o nome da tabela ou da vista que está a etiquetar.

Exemplos:

Para adicionar uma etiqueta de tabela que monitorize os departamentos, introduza o comando bq update e especifique department como a chave da etiqueta. Por exemplo, para adicionar uma etiqueta department:shipping a mytable no seu projeto predefinido, introduza:

    bq update --set_label department:shipping mydataset.mytable

Para adicionar uma etiqueta de visualização que monitorize os departamentos, introduza o comando bq update e especifique department como a chave da etiqueta. Por exemplo, para adicionar uma etiqueta department:shipping a myview no seu projeto predefinido, introduza:

    bq update --set_label department:shipping mydataset.myview

Para adicionar várias etiquetas a uma tabela ou uma vista, repita a flag set_label e especifique uma chave única para cada etiqueta. Por exemplo, para adicionar uma etiqueta department:shipping e uma etiqueta cost_center:logistics a mytable no seu projeto predefinido, introduza:

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

API

Para adicionar uma etiqueta a uma tabela ou uma vista existente, chame o método tables.patch e preencha a propriedade labels para o recurso de tabela .

Uma vez que as vistas são tratadas como recursos de tabelas, usa o método tables.patch para modificar vistas e tabelas.

Uma vez que o método tables.update substitui todo o recurso do conjunto de dados, o método tables.patch é preferível.

Go

Antes de experimentar este exemplo, siga as Goinstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Go BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

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

Este exemplo usa a biblioteca cliente HTTP Google para Java para enviar um pedido à API BigQuery.

Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryException;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.Table;
import com.google.cloud.bigquery.TableId;
import java.util.HashMap;
import java.util.Map;

// Sample to adds a label to an existing table
public class LabelTable {

  public static void main(String[] args) {
    // TODO(developer): Replace these variables before running the sample.
    String datasetName = "MY_DATASET_NAME";
    String tableName = "MY_TABLE_NAME";
    labelTable(datasetName, tableName);
  }

  public static void labelTable(String datasetName, String tableName) {
    try {
      // Initialize client that will be used to send requests. This client only needs to be created
      // once, and can be reused for multiple requests.
      BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();

      // This example table starts with existing label { color: 'green' }
      Table table = bigquery.getTable(TableId.of(datasetName, tableName));
      // Add label to table
      Map<String, String> labels = new HashMap<>();
      labels.put("color", "green");

      table.toBuilder().setLabels(labels).build().update();
      System.out.println("Label added successfully");
    } catch (BigQueryException e) {
      System.out.println("Label was not added. \n" + e.toString());
    }
  }
}

Node.js

Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Node.js BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

// 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 experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Python BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

from google.cloud import bigquery

client = bigquery.Client()

# TODO(dev): Change table_id to the full name of the table you want to create.
table_id = "your-project.your_dataset.your_table_name"

table = client.get_table(table_id)  # API request

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

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

print(f"Added {table.labels} to {table_id}.")

Adicione etiquetas a trabalhos

Pode adicionar etiquetas a tarefas de consulta através da linha de comandos com a flag --label da ferramenta de linha de comandos bq. A ferramenta bq suporta a adição de etiquetas apenas a tarefas de consulta.

Também pode adicionar uma etiqueta a uma tarefa quando é enviada através da API especificando a propriedade labels na configuração da tarefa quando chama o método jobs.insert. A API pode ser usada para adicionar etiquetas a qualquer tipo de tarefa.

Não pode adicionar nem atualizar etiquetas em tarefas pendentes, em execução ou concluídas.

Quando adiciona uma etiqueta a um trabalho, a etiqueta é incluída nos seus dados de faturação.

Funções de IAM necessárias

Para receber a autorização de que precisa para adicionar uma etiqueta a uma tarefa, peça ao seu administrador para lhe conceder a função de IAM utilizador do BigQuery (roles/bigquery.user). Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Esta função predefinida contém a autorização bigquery.jobs.create , que é necessária para adicionar uma etiqueta a uma tarefa.

Também pode obter esta autorização com funções personalizadas ou outras funções predefinidas.

Para mais informações sobre as funções e as autorizações do IAM no BigQuery, consulte o artigo Funções e autorizações predefinidas.

Adicione uma etiqueta a um trabalho

Para adicionar uma etiqueta a uma tarefa:

bq

Para adicionar uma etiqueta a uma tarefa de consulta, execute o comando bq query com o sinalizador --label. Para adicionar várias etiquetas, repita a flag. A flag indica que a sua consulta está na sintaxe do GoogleSQL.

bq query --label KEY:VALUE  'QUERY'

Substitua o seguinte:

  • KEY:VALUE: um par de chave-valor para uma etiqueta que quer adicionar à tarefa de consulta. A chave tem de ser exclusiva. As chaves e os valores só podem conter letras minúsculas, carateres numéricos, sublinhados e travessões. Todos os carateres têm de usar a codificação UTF-8, e são permitidos carateres internacionais. Para adicionar várias etiquetas a uma tarefa de consulta, repita a flag --label e especifique uma chave exclusiva para cada etiqueta.
  • QUERY: uma consulta GoogleSQL válida.

Exemplos:

Para adicionar uma etiqueta a uma tarefa de consulta, introduza:

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

Para adicionar várias etiquetas a uma tarefa de consulta, repita a flag --label e especifique uma chave exclusiva para cada etiqueta. Por exemplo, para adicionar uma etiqueta department:shipping e uma etiqueta cost_center:logistics a uma tarefa de consulta, introduza:

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

API

Para adicionar uma etiqueta a uma tarefa, chame o método jobs.insert e preencha a propriedade labels para a configuração da tarefa. Pode usar a API para adicionar etiquetas a qualquer tipo de tarefa.

Python

Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Python BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

from google.cloud import bigquery

client = bigquery.Client()

sql = """
    SELECT corpus
    FROM `bigquery-public-data.samples.shakespeare`
    GROUP BY corpus;
"""
labels = {"color": "green"}

config = bigquery.QueryJobConfig()
config.labels = labels
location = "us"
job = client.query(sql, location=location, job_config=config)
job_id = job.job_id

print(f"Added {job.labels} to {job_id}.")

Associe trabalhos numa sessão a uma etiqueta

Se estiver a executar consultas numa sessão, pode atribuir uma etiqueta a todos os trabalhos de consulta futuros na sessão através de consultas com várias declarações do BigQuery.

SQL

Defina a variável de sistema @@query_label na sessão executando esta consulta:

  SET @@query_label = "KEY:VALUE";
  

  • KEY:VALUE: um par de chave-valor para a etiqueta a atribuir a todas as consultas futuras na sessão. Também pode adicionar vários pares de chave-valor separados por uma vírgula (por exemplo, SET @@query_label = "key1:value1,key2:value2"). A chave tem de ser exclusiva. As chaves e os valores só podem conter letras minúsculas, carateres numéricos, sublinhados e travessões. Todos os carateres têm de usar a codificação UTF-8 e são permitidos carateres internacionais.

Exemplo:

  SET @@query_label = "cost_center:logistics";
  

API

Para adicionar uma etiqueta a uma tarefa de consulta numa sessão quando executa uma consulta através de uma chamada API, chame o método jobs.insert e preencha a propriedade query_label para a connectionProperties configuração da tarefa.

Depois de associar uma etiqueta de consulta a uma sessão e executar consultas na sessão, pode recolher registos de auditoria para consultas com essa etiqueta de consulta. Para mais informações, consulte a referência do registo de auditoria do BigQuery.

Adicione uma etiqueta a uma reserva

Quando adiciona uma etiqueta a uma reserva, a etiqueta é incluída nos seus dados de faturação. Pode usar as etiquetas para filtrar o SKU de atribuição de slots de análise nos seus dados de faturação na nuvem.

Para mais informações sobre a utilização de etiquetas nos dados de faturação, consulte o artigo Use filtros para refinar os dados.

Funções de IAM necessárias

Para receber a autorização de que precisa para adicionar uma etiqueta a uma reserva, peça ao seu administrador para lhe conceder a função do IAM Editor de recursos do BigQuery (roles/bigquery.resourceEditor) no projeto de administração. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Esta função predefinida contém a autorização bigquery.reservations.update , que é necessária para adicionar uma etiqueta a uma reserva.

Também pode obter esta autorização com funções personalizadas ou outras funções predefinidas.

Adicione uma etiqueta a uma reserva

Para adicionar uma etiqueta a uma reserva:

SQL

Para adicionar uma etiqueta a uma reserva, use a declaração ALTER RESERVATION SET OPTIONS DDL. A definição de etiquetas substitui quaisquer etiquetas existentes na reserva. O exemplo seguinte define uma etiqueta na reserva myreservation:

  1. Na Google Cloud consola, aceda à página BigQuery.

    Aceda ao BigQuery

  2. No editor de consultas, introduza a seguinte declaração:

    ALTER RESERVATION myreservation
    SET OPTIONS (
      labels = [('sensitivity', 'high')]);

  3. Clique em Executar.

Para mais informações sobre como executar consultas, consulte o artigo Execute uma consulta interativa.

bq

Para adicionar uma etiqueta a uma reserva, emita o comando bq update com o sinalizador set_label e o sinalizador --reservation. Para adicionar várias etiquetas, repita a flag set_label.

bq update --set_label KEY:VALUE --location LOCATION --reservation RESERVATION_NAME

Substitua o seguinte:

  • KEY:VALUE: um par chave-valor para uma etiqueta que quer adicionar à reserva. A chave tem de ser exclusiva. As chaves e os valores só podem conter letras minúsculas, carateres numéricos, sublinhados e travessões. Todos os carateres têm de usar a codificação UTF-8, e são permitidos carateres internacionais. Para adicionar várias etiquetas a uma reserva, repita a flag --set_label e especifique uma chave exclusiva para cada etiqueta.
  • LOCATION: a localização da reserva. A flag location não pode ser a última no comando. Caso contrário, é devolvido o erro FATAL Flags positioning.
  • RESERVATION_NAME: o nome da reserva.

Adicione uma etiqueta sem um valor

Uma etiqueta que tem uma chave com um valor vazio é, por vezes, denominada etiqueta. Isto não deve ser confundido com um recurso de etiqueta. Para mais informações, consulte etiquetas. Pode criar uma nova etiqueta sem valor ou remover um valor de uma chave de etiqueta existente.

As etiquetas sem valores podem ser úteis em situações em que está a etiquetar um recurso, mas não precisa do formato de chave-valor. Por exemplo, se uma tabela contiver dados de teste usados por vários grupos, como o apoio técnico ou o desenvolvimento, pode adicionar uma etiqueta test_data à tabela para a identificar.

Para adicionar uma etiqueta sem um valor:

Consola

  1. Na Google Cloud consola, selecione o recurso adequado (um conjunto de dados, uma tabela ou uma vista).

  2. Para conjuntos de dados, a página de detalhes do conjunto de dados é aberta automaticamente. Para tabelas e vistas, clique em Detalhes para abrir a página de detalhes.

    Detalhes da tabela.

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

    Lápis de etiquetas.

  4. Na caixa de diálogo Editar etiquetas:

    • Clique em Adicionar etiqueta.
    • Introduza uma nova chave e deixe o valor em branco. Para aplicar etiquetas adicionais, clique em Adicionar etiqueta e repita o processo.
    • Para guardar as alterações, clique em Atualizar.

SQL

Para adicionar uma etiqueta sem um valor, use a ALTER TABLE SET OPTIONS declaração DDL:

  1. Na Google Cloud consola, aceda à página BigQuery.

    Aceda ao BigQuery

  2. No editor de consultas, introduza a seguinte declaração:

    ALTER TABLE mydataset.mytable
    SET OPTIONS (
      labels=[("key1", ""), ("key2", "")]);

  3. Clique em Executar.

Para mais informações sobre como executar consultas, consulte o artigo Execute uma consulta interativa.

bq

Para adicionar uma etiqueta sem um valor a um recurso existente, use o comando bq update com a flag set_label. Especifique a chave, seguida de dois pontos, mas deixe o valor não especificado.

bq update --set_label KEY: RESOURCE_ID

Substitua o seguinte:

  • KEY:: a chave da etiqueta que quer usar.
  • RESOURCE_ID: um nome de conjunto de dados, tabela ou vista válido. Se o recurso estiver num projeto diferente do seu projeto predefinido, adicione o ID do projeto no seguinte formato: PROJECT_ID:DATASET.

Exemplos:

Introduza o seguinte comando para criar uma etiqueta test_data para mydataset.mytable. mydataset está no seu projeto predefinido.

bq update --set_label test_data: mydataset

API

Chame o método datasets.patch ou o método tables.patch e adicione etiquetas com o valor definido como a string vazia ("") no recurso dataset ou no recurso table. Pode remover valores de etiquetas existentes substituindo os respetivos valores pela string vazia.

Uma vez que as vistas são tratadas como recursos de tabelas, usa o método tables.patch para modificar vistas e tabelas. Além disso, uma vez que o método tables.update substitui todo o recurso do conjunto de dados, o método tables.patch é preferível.

O que se segue?