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.userroles/bigquery.metadataViewerroles/bigquery.dataViewerroles/bigquery.dataOwnerroles/bigquery.dataEditorroles/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.metadataViewerroles/bigquery.dataViewerroles/bigquery.dataOwnerroles/bigquery.dataEditorroles/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
keyoukey:value. Os seus resultados incluem correspondências parciais.Por exemplo, para mostrar apenas conjuntos de dados com a etiqueta
department:shipping, pode introduzirdepartmentoudepartment: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
--filterna ferramenta bq - Como o valor da propriedade
filterno métododatasets.listda 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 operadoresANDimplícitos. - O único campo elegível para filtragem é
labels.key, em quekeyé o nome de uma etiqueta. - Cada
keynuma 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.