Filtrar recursos com etiquetas
Para filtrar recursos através de etiquetas, pode fazer uma das seguintes ações:
- Use a barra de pesquisa na Google Cloud consola.
- Crie uma especificação de filtro para utilização na API, na ferramenta de linhas de comando bq ou nas bibliotecas cliente.
Limitações
- A API, a ferramenta de linhas de comando bq e as bibliotecas de clientes suportam a filtragem apenas para conjuntos de dados.
- Não pode filtrar tarefas por etiqueta em nenhuma das ferramentas 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.
Autorizações necessárias
Para filtrar recursos através de etiquetas, tem de conseguir obter os metadados dos recursos. Para filtrar recursos através de etiquetas, precisa das seguintes autorizações de IAM:
bigquery.datasets.get
(permite-lhe filtrar conjuntos de dados)bigquery.tables.get
(permite-lhe filtrar tabelas e vistas)
Cada uma das seguintes funções de IAM predefinidas inclui as autorizações de que precisa para filtrar conjuntos de dados:
roles/bigquery.user
roles/bigquery.metadataViewer
roles/bigquery.dataViewer
roles/bigquery.dataOwner
roles/bigquery.dataEditor
roles/bigquery.admin
Cada uma das seguintes funções de IAM predefinidas inclui as autorizações de que precisa para filtrar tabelas e vistas:
roles/bigquery.metadataViewer
roles/bigquery.dataViewer
roles/bigquery.dataOwner
roles/bigquery.dataEditor
roles/bigquery.admin
Além disso, se tiver a autorização bigquery.datasets.create
, pode filtrar os recursos que cria.
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.
Filtre recursos na Google Cloud consola
Para gerar uma lista filtrada de recursos, use a Google Cloud consola:
Na Google Cloud consola, aceda ao painel Explorador.
Na barra de pesquisa, introduza o par
key
oukey:value
. Os seus resultados incluem correspondências parciais.Por exemplo, para mostrar apenas conjuntos de dados com a etiqueta
department:shipping
, pode introduzirdepartment
oudepartment:shipping
.
Filtre conjuntos de dados na API ou na ferramenta de linhas de comando bq
A API, a ferramenta de linhas de comando bq e as bibliotecas de clientes suportam a filtragem apenas para conjuntos de dados.
Para filtrar conjuntos de dados através da API, da ferramenta bq ou das bibliotecas de clientes, crie uma especificação de filtro e use-a:
- Como parâmetro da flag
--filter
na ferramenta bq - Como o valor da propriedade
filter
no métododatasets.list
da API
Limitações nas especificações de filtros
As especificações de filtros têm as seguintes limitações:
- Apenas o operador lógico
AND
é suportado. As comparações separadas por espaços são tratadas como tendo operadoresAND
implícitos. - O único campo elegível para filtragem é
labels.key
, em quekey
é o nome de uma etiqueta. - Cada
key
numa expressão de filtragem tem de ser exclusivo. - O filtro pode incluir até dez expressões.
- A filtragem é sensível a maiúsculas e minúsculas.
- A API, a ferramenta de linhas de comando bq e as bibliotecas de clientes suportam a filtragem apenas para conjuntos de dados.
Exemplos de especificação de filtros
Uma especificação de filtro usa a seguinte sintaxe:
"field[:value][ field[:value]]..."
Substitua o seguinte:
field
é expresso comolabels.key
, onde key é uma chave de etiqueta.value
é um valor de etiqueta opcional.
Os exemplos seguintes mostram como gerar expressões de filtro.
Para listar recursos que tenham uma etiqueta department:shipping
, use a seguinte especificação de filtro:
labels.department:shipping
Para listar recursos com várias etiquetas, separe os pares key:value
com um espaço. O espaço é tratado como um operador lógico AND
. Por exemplo, para listar conjuntos de dados com a etiqueta department:shipping
e a etiqueta location:usa
, use a seguinte especificação de filtro:
labels.department:shipping labels.location:usa
Pode filtrar pela presença de uma chave apenas, em vez de fazer a correspondência com um par chave:valor. A especificação de filtro seguinte apresenta todos os conjuntos de dados
etiquetados 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:*
Também pode usar etiquetas numa especificação de filtro. Por exemplo, para listar recursos com a etiqueta department:shipping
e a etiqueta test_data
, use a seguinte especificação de filtro:
labels.department:shipping labels.test_data
Filtrar conjuntos de dados na ferramenta de linhas de comando bq e na API
Para filtrar conjuntos de dados através da API, da ferramenta de linhas de comando bq ou das bibliotecas de clientes:
bq
Emita o comando bq ls
com a flag --filter
. Se estiver a apresentar
conjuntos de dados num projeto que não seja o projeto predefinido, especifique a flag
--project_id
.
bq ls \ --filter "filter_specification" \ --project_id project_id
Substitua o seguinte:
filter_specification
é uma especificação de filtro válida.project_id
é o ID do seu projeto.
Exemplos:
Introduza o seguinte comando para listar os conjuntos de dados no seu projeto predefinido que têm uma etiqueta department:shipping
:
bq ls --filter "labels.department:shipping"
Introduza o seguinte comando para listar os conjuntos de dados no seu projeto predefinido que
têm uma etiqueta department:shipping
e uma etiqueta test_data
.
bq ls --filter "labels.department:shipping labels.test_data"
Introduza o seguinte comando para listar conjuntos de dados em myotherproject
que tenham uma etiqueta department:shipping
:
bq ls --filter "labels.department:shipping" --project_id myotherproject
O resultado de cada um destes comandos devolve uma lista de conjuntos de dados semelhante à seguinte.
+-----------+ | datasetId | +-----------+ | mydataset | | mydataset2| +-----------+
API
Chame o método da API datasets.list
e forneça a especificação do filtro através da propriedade filter
.
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.
Java
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.
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.
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.
O que se segue?
- Saiba como adicionar etiquetas aos recursos do BigQuery.
- Saiba como ver etiquetas em recursos do BigQuery.
- Saiba como atualizar etiquetas em recursos do BigQuery.
- Saiba como eliminar etiquetas em recursos do BigQuery.
- Leia acerca da utilização de etiquetas na documentação do Resource Manager.