Como filtrar recursos usando rótulos
Para filtrar recursos usando rótulos, siga um destes procedimentos:
- Use a barra de pesquisa no console do Google Cloud.
- Crie uma especificação de filtro para usar na API, ferramenta de linha de comando bq ou bibliotecas de cliente.
Limitações
- A API, a ferramenta de linha de comando bq e as bibliotecas de cliente são compatíveis com a filtragem apenas de conjuntos de dados.
- Não é possível filtrar jobs por rótulo em nenhuma das ferramentas 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.
Permissões necessárias
É preciso ser capaz de recuperar metadados de recursos para filtrar recursos usando rótulos. Para filtrar recursos usando rótulos, você precisa das seguintes permissões do IAM:
bigquery.datasets.get
(permite filtrar conjuntos de dados)bigquery.tables.get
(permite filtrar tabelas e visualizações)
Cada um dos seguintes papéis predefinidos do IAM inclui as permissões necessárias para filtrar conjuntos de dados:
roles/bigquery.user
roles/bigquery.metadataViewer
roles/bigquery.dataViewer
roles/bigquery.dataOwner
roles/bigquery.dataEditor
roles/bigquery.admin
Cada um dos papéis predefinidos do IAM a seguir inclui as permissões necessárias para filtrar tabelas e visualizações:
roles/bigquery.metadataViewer
roles/bigquery.dataViewer
roles/bigquery.dataOwner
roles/bigquery.dataEditor
roles/bigquery.admin
Além disso, se você tiver a permissão bigquery.datasets.create
, poderá filtrar os recursos criados.
Para mais informações sobre papéis e permissões do IAM no BigQuery, consulte Papéis e permissões predefinidos.
Como filtrar recursos no console do Google Cloud
Para gerar uma lista filtrada de recursos, use o console do Google Cloud:
No Console do Google Cloud, acesse o painel Explorer.
Na barra de pesquisa, digite o par
key
oukey:value
. Os resultados incluem todas as correspondências parciais.Por exemplo, para mostrar apenas conjuntos de dados com o rótulo
department:shipping
, insiradepartment
oudepartment:shipping
.
Como filtrar conjuntos de dados na API ou na ferramenta de linha de comando bq
No momento, a API, a ferramenta de linha de comando bq e as bibliotecas de cliente são compatíveis com a filtragem apenas de conjuntos de dados.
Para filtrar conjuntos de dados usando a API, a ferramenta bq ou as bibliotecas de cliente, crie uma especificação de filtro e use-a:
- como o parâmetro para a flag
--filter
na ferramenta bq - como o valor da propriedade
filter
no métododatasets.list
da API.
Limitações nas especificações do filtro
As especificações do filtro têm as seguintes limitações:
- Somente o operador lógico
AND
é compatível. As comparações separadas por espaço são tratadas como se tivessem operadoresAND
implícitos. - O único campo qualificado atualmente para filtragem é
labels.key
, em quekey
é o nome de um rótulo. - O filtro pode incluir até dez expressões.
- A filtragem diferencia maiúsculas e minúsculas.
- No momento, a API, a ferramenta de linha de comando bq e as bibliotecas de cliente são compatíveis com a filtragem apenas de conjuntos de dados.
Exemplos de especificação de filtro
Uma especificação de filtro usa a seguinte sintaxe:
"field[:value][ field[:value]]..."
Substitua:
field
é expresso comolabels.key
, em que key é uma chave de rótulo;value
é um valor de rótulo opcional.
Os exemplos a seguir mostram como gerar expressões de filtro.
Para listar recursos que têm um rótulo department:shipping
, use a especificação de filtro abaixo:
labels.department:shipping
Para listar recursos usando vários rótulos, separe os pares key:value
com um espaço. O espaço é tratado como um operador AND
lógico. Por exemplo, para listar conjuntos de dados com os rótulos department:shipping
e location:usa
, use a seguinte especificação de filtro:
labels.department:shipping labels.location:usa
Filtre a presença de uma chave sozinha, em vez de corresponder com um par de chave-valor. A especificação de filtro a seguir lista todos os conjuntos de dados rotulados como department
, independentemente do valor.
labels.department
Uma especificação de filtro equivalente usa um asterisco para representar todos os valores possíveis associados à chave department
.
labels.department:*
Você também pode usar tags em uma especificação de filtro. Por exemplo, para listar recursos com rótulo department:shipping
e tag test_data
, use a especificação de filtro abaixo:
labels.department:shipping labels.test_data
Como filtrar conjuntos de dados na ferramenta de linha de comando bq e na API
Para filtrar conjuntos de dados usando a API, a ferramenta de linha de comando bq ou as bibliotecas de cliente:
bq
Use o comando bq ls
com a sinalização --filter
. Se estiver listando conjuntos de dados em um projeto diferente do seu projeto padrão, especifique a sinalização --project_id
.
bq ls \ --filter "filter_specification" \ --project_id project_id
Substitua:
filter_specification
é uma especificação de filtro válida;project_id
é o ID do projeto.
Exemplos:
Digite o comando a seguir para listar conjuntos de dados do seu projeto padrão que têm rótulo department:shipping
:
bq ls --filter "labels.department:shipping"
Digite o comando a seguir para listar conjuntos de dados do seu projeto padrão que têm rótulo department:shipping
e tag test_data
.
bq ls --filter "labels.department:shipping labels.test_data"
Digite o comando a seguir para listar, conjuntos de dados em myotherproject
que têm rótulo department:shipping
:
bq ls --filter "labels.department:shipping" --project_id myotherproject
A saída para cada um desses comandos retorna uma lista de conjuntos de dados, como a seguinte.
+-----------+ | datasetId | +-----------+ | mydataset | | mydataset2| +-----------+
API
Chame o método da API datasets.list
e forneça a especificação de filtro usando a propriedade filter
.
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
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.
A seguir
- Saiba como adicionar rótulos a recursos do BigQuery.
- Saiba como visualizar rótulos em recursos do BigQuery.
- Saiba como atualizar rótulos em recursos do BigQuery.
- Saiba como excluir rótulos em recursos do BigQuery.
- Leia Como usar rótulos na documentação do Resource Manager.