Como adicionar rótulos a recursos
Nesta página, explicamos como adicionar rótulos recursos do BigQuery.
Antes de começar
Atribua papéis do Identity and Access Management (IAM) que concedam aos usuários as permissões necessárias para realizar cada tarefa deste documento. Todas as permissões necessárias para executar uma tarefa estão listadas na seção "Papéis do IAM obrigatórios".
Como adicionar rótulos a conjuntos 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 bq ou chamando o método datasets.insert
da API. No momento, não é possível adicionar um identificador a um conjunto de dados quando ele é criado usando
o console do Google Cloud.
Nesta página, você verá 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 Google Cloud
- Usar instruções DDL do SQL;
- use o comando
bq update
da ferramenta de linha de comando bq; - chame o
datasets.patch
método de API; - 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. Além disso, quando você adiciona um rótulo a um conjunto de dados, ele é incluído nos dados de faturamento de armazenamento, mas não nos dados de faturamento relacionados a jobs.
Para mais detalhes sobre o formato de um rótulo, consulte Requisitos para rótulos.
Papéis do IAM obrigatórios
Para receber a permissão necessária para adicionar um rótulo a um conjunto de dados já existente, peça ao administrador para conceder a você o papel do IAM Editor de dados do BigQuery (roles/bigquery.dataEditor
).
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Esse papel predefinido contém a
permissão bigquery.datasets.update
, que é
necessária para adicionar um rótulo a um conjunto de dados existente.
Também é possível conseguir essa permissão com papéis personalizados ou outros papéis predefinidos.
Para mais informações sobre papéis e 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
No console do Google Cloud, selecione o conjunto de dados.
Na página de detalhes do conjunto de dados, clique no ícone de lápis à direita de Rótulos.
Na caixa de diálogo Editar rótulos:
- Clique em Adicionar rótulo.
- Insira a chave e o valor. 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.
- Para atualizar um rótulo, modifique as chaves ou os valores atuais.
- Para salvar as alterações, clique em Atualizar.
SQL
Use a instrução DDL ALTER SCHEMA SET OPTIONS
para definir os rótulos em um conjunto de dados atual. A definição dos rótulos substitui os rótulos no conjunto de dados. O exemplo a seguir define um rótulo no conjunto de dados mydataset
:
No Console do Google Cloud, acesse a página BigQuery.
No editor de consultas, digite a seguinte instrução:
ALTER SCHEMA mydataset SET OPTIONS ( labels = [('sensitivity', 'high')]);
Clique em
Executar.
Para mais informações sobre como executar consultas, acesse Executar uma consulta interativa.
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. 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.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 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 em Go.
Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
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 em Java.
Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
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 em Node.js.
Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
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 em Python.
Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
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, você verá como adicionar um rótulo a uma visualização ou tabela. 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 Google Cloud
- use o comando
bq update
da ferramenta de linha de comando bq; - chame o
tables.patch
método de API; - 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.
Papéis do IAM obrigatórios
Para receber as permissões necessárias para adicionar um rótulo a uma tabela ou visualização já existente, peça ao administrador para conceder a você o papel do IAM Editor de dados do BigQuery (roles/bigquery.dataEditor
).
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Esse papel predefinido contém as permissões necessárias para adicionar um rótulo a uma visualização ou tabela atual. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para adicionar um identificador a uma tabela ou visualização:
-
bigquery.tables.update
-
bigquery.tables.get
Essas permissões também podem ser concedidas com papéis personalizados ou outros papéis predefinidos.
Para mais informações sobre papéis e 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
No console do Google Cloud, selecione a tabela ou a visualização.
Clique na guia Details.
Clique no ícone de lápis à direita de Rótulos.
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
Use a
ALTER TABLE SET OPTIONS
Instrução DDL
para definir os rótulos em uma tabela existente ou
ALTER VIEW SET OPTIONS
Instrução DDL
para definir os rótulos em uma visualização existente. A definição dos rótulos substitui os que já estão na tabela ou na visualização. O exemplo a seguir define dois rótulos
na tabela mytable
:
No Console do Google Cloud, acesse a página BigQuery.
No editor de consultas, digite a seguinte instrução:
ALTER TABLE mydataset.mytable SET OPTIONS ( labels = [('department', 'shipping'), ('cost_center', 'logistics')]);
Clique em
Executar.
Para mais informações sobre como executar consultas, acesse Executar uma consulta interativa.
bq
Para adicionar um rótulo a uma visualização ou tabela existente, envie o comando bq update
com
a sinalização set_label
. Para adicionar vários rótulos, repita a sinalização.
Se a tabela ou a visualização estiver em um projeto diferente do padrão, adicione o ID do projeto ao conjunto de dados no seguinte formato: project_id:dataset
.
bq update \ --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. 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.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 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 em Go.
Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
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 em Java.
Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
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 em Node.js.
Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
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 em Python.
Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Como adicionar rótulos a jobs
Rótulos podem ser adicionados aos jobs de consulta pela linha de comando com 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 pela 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.
Ao adicionar um rótulo a um job, o rótulo é incluído nos seus dados de faturamento.
Papéis do IAM obrigatórios
Para receber a permissão necessária para adicionar um rótulo a um job, peça ao administrador para conceder a você o papel do IAM Usuário do BigQuery (roles/bigquery.user
).
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Esse papel predefinido contém a
permissão bigquery.jobs.create
, que é
necessária para adicionar um rótulo a um job.
Também é possível conseguir essa permissão com papéis personalizados ou outros papéis predefinidos.
Para mais informações sobre papéis e permissões do IAM no BigQuery, consulte Papéis e permissões predefinidos.
Como adicionar um rótulo a um job
Para adicionar um rótulo a um job:
bq
Para adicionar um rótulo a um job de consulta, envie o comando bq query
com
a sinalização --label
. Para adicionar vários rótulos, repita a sinalização. A
sinalização --nouse_legacy_sql
indica que sua consulta está na sintaxe
do GoogleSQL.
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. 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. 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 do GoogleSQL 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 propriedade labels
para a
configuração do job.
É possível usar a API para adicionar rótulos a qualquer tipo de job.
Associar jobs em uma sessão a um rótulo
Se você estiver executando consultas em uma sessão, poderá atribuir um rótulo a todos os futuros jobs de consulta na sessão usando consultas de várias instruçõ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 que o rótulo seja atribuído a todas as consultas futuras na sessão. A chave precisa ser única. 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.
Exemplo:
SET @@query_label = "cost_center:logistics";
API
Para adicionar um rótulo a um job de consulta em uma sessão quando você executar uma consulta usando uma chamada de API, chame o método jobs.insert
e preencha a propriedade query_label
para a
configuração do job
connectionProperties
.
Depois de associar um rótulo de consulta a uma sessão e executar consultas dentro da sessão, você pode coletar registros de auditoria para consultas com esse rótulo. Para mais informações, consulte a referência do registro de auditoria do BigQuery.
Adicionar um rótulo sem um valor
Um rótulo que tem uma chave com um valor vazio às vezes é chamado de tag. Isso não deve ser confundido com um recurso de tag. Para mais informações, consulte rótulos e seletores. É possível criar um novo rótulo sem valor ou remover um valor de uma chave de rótulo existente.
Identificadores sem valores podem ser úteis em situações em que você rotula 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 suporte ou
desenvolvimento, será possível adicionar um rótulo test_data
à tabela para identificá-la.
Para adicionar um rótulo sem um valor:
Console
No console do Google Cloud, selecione o recurso apropriado (um conjunto de dados, uma tabela ou uma visualização).
No caso dos 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.
Na página de detalhes, clique no ícone de lápis à direita de Rótulos.
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 mais rótulos, clique em Adicionar rótulo e repita.
- Para salvar as alterações, clique em Atualizar.
SQL
Para adicionar um rótulo sem valor, use a
instrução DDL ALTER TABLE SET OPTIONS
:
No Console do Google Cloud, acesse a página BigQuery.
No editor de consultas, digite a seguinte instrução:
ALTER TABLE mydataset.mytable SET OPTIONS ( labels=[("key1", ""), ("key2", "")]);
Clique em
Executar.
Para mais informações sobre como executar consultas, acesse Executar uma consulta interativa.
bq
Para adicionar um rótulo sem valor a um recurso atual, 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.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:
Digite o seguinte comando para criar um rótulo test_data
para mydataset.mytable
. mydataset
está no 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.
Você pode remover valores de rótulos existentes substituindo seus 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
- Saiba como visualizar rótulos nos recursos do BigQuery.
- Saiba como atualizar rótulos nos recursos do BigQuery.
- Saiba como filtrar recursos usando rótulos.
- Saiba como excluir rótulos em recursos do BigQuery.
- Leia Como usar rótulos na documentação do Resource Manager.