Filtrar recursos con etiquetas
Para filtrar recursos mediante etiquetas, puede hacer lo siguiente:
- Usa la barra de búsqueda de la Google Cloud consola.
- Crea una especificación de filtro para usarla en la API, la herramienta de línea de comandos bq o las bibliotecas de cliente.
Limitaciones
- La API, la herramienta de línea de comandos bq y las bibliotecas cliente solo admiten el filtrado de conjuntos de datos.
- No puedes filtrar tareas por etiqueta en ninguna de las herramientas de BigQuery.
Antes de empezar
Concede roles de gestión de identidades y accesos (IAM) que proporcionen a los usuarios los permisos necesarios para realizar cada tarea de este documento.
Permisos obligatorios
Para filtrar recursos mediante etiquetas, debe poder recuperar los metadatos de los recursos. Para filtrar recursos mediante etiquetas, necesitas los siguientes permisos de gestión de identidades y accesos:
bigquery.datasets.get
(permite filtrar conjuntos de datos)bigquery.tables.get
(permite filtrar tablas y vistas)
Cada uno de los siguientes roles de gestión de identidades y accesos predefinidos incluye los permisos que necesitas para filtrar conjuntos de datos:
roles/bigquery.user
roles/bigquery.metadataViewer
roles/bigquery.dataViewer
roles/bigquery.dataOwner
roles/bigquery.dataEditor
roles/bigquery.admin
Cada uno de los siguientes roles de gestión de identidades y accesos predefinidos incluye los permisos que necesitas para filtrar tablas y vistas:
roles/bigquery.metadataViewer
roles/bigquery.dataViewer
roles/bigquery.dataOwner
roles/bigquery.dataEditor
roles/bigquery.admin
Además, si tienes el permiso bigquery.datasets.create
, puedes filtrar los recursos que crees.
Para obtener más información sobre los roles y permisos de IAM en BigQuery, consulta el artículo sobre funciones y permisos predefinidos.
Filtrar recursos en la Google Cloud consola
Para generar una lista filtrada de recursos, usa la Google Cloud consola:
En la Google Cloud consola, ve al panel Explorador.
En la barra de búsqueda, introduce el par
key
okey:value
. Los resultados incluyen las coincidencias parciales.Por ejemplo, para mostrar solo los conjuntos de datos con la etiqueta
department:shipping
, puede introducirdepartment
odepartment:shipping
.
Filtrar conjuntos de datos en la API o en la herramienta de línea de comandos bq
La API, la herramienta de línea de comandos bq y las bibliotecas de cliente solo admiten el filtrado de conjuntos de datos.
Para filtrar conjuntos de datos mediante la API, la herramienta bq o las bibliotecas de cliente, crea una especificación de filtro y úsala:
- Como parámetro de la marca
--filter
en la herramienta bq - Como valor de la propiedad
filter
en el métododatasets.list
de la API
Limitaciones de las especificaciones de filtros
Las especificaciones de los filtros tienen las siguientes limitaciones:
- Solo se admite el operador lógico
AND
. Las comparaciones separadas por espacios se tratan como si tuvieran operadoresAND
implícitos. - El único campo apto para el filtrado es
labels.key
, dondekey
es el nombre de una etiqueta. - Cada
key
de una expresión de filtrado debe ser único. - El filtro puede incluir hasta diez expresiones.
- El filtrado distingue entre mayúsculas y minúsculas.
- La API, la herramienta de línea de comandos bq y las bibliotecas de cliente solo admiten el filtrado de conjuntos de datos.
Ejemplos de especificaciones de filtros
Una especificación de filtro utiliza la siguiente sintaxis:
"field[:value][ field[:value]]..."
Haz los cambios siguientes:
field
se expresa comolabels.key
, donde key es una clave de etiqueta.value
es un valor de etiqueta opcional.
En los siguientes ejemplos se muestra cómo generar expresiones de filtro.
Para enumerar los recursos que tienen la etiqueta department:shipping
, usa la siguiente especificación de filtro:
labels.department:shipping
Para enumerar recursos con varias etiquetas, separa los pares key:value
con un espacio. El espacio se trata como un operador lógico AND
. Por ejemplo, para enumerar los conjuntos de datos con las etiquetas department:shipping
y location:usa
, usa la siguiente especificación de filtro:
labels.department:shipping labels.location:usa
Puede filtrar por la presencia de una clave, en lugar de buscar coincidencias con un par clave-valor. La siguiente especificación de filtro muestra todos los conjuntos de datos etiquetados como department
, independientemente del valor.
labels.department
Una especificación de filtro equivalente usa un asterisco para representar todos los valores posibles asociados a la clave department
.
labels.department:*
También puedes usar etiquetas en una especificación de filtro. Por ejemplo, para enumerar los recursos con la etiqueta department:shipping
y la etiqueta test_data
, usa la siguiente especificación de filtro:
labels.department:shipping labels.test_data
Filtrar conjuntos de datos en la herramienta de línea de comandos bq y en la API
Para filtrar conjuntos de datos mediante la API, la herramienta de línea de comandos bq o las bibliotecas de cliente, sigue estos pasos:
bq
Ejecuta el comando bq ls
con la marca --filter
. Si vas a enumerar conjuntos de datos de un proyecto que no sea el predeterminado, especifica la marca --project_id
.
bq ls \ --filter "filter_specification" \ --project_id project_id
Haz los cambios siguientes:
filter_specification
es una especificación de filtro válida.project_id
es el ID del proyecto.
Ejemplos:
Introduce el siguiente comando para ver una lista de los conjuntos de datos de tu proyecto predeterminado que tengan la etiqueta department:shipping
:
bq ls --filter "labels.department:shipping"
Introduce el siguiente comando para ver una lista de los conjuntos de datos de tu proyecto predeterminado que tengan la etiqueta department:shipping
y la etiqueta test_data
.
bq ls --filter "labels.department:shipping labels.test_data"
Introduce el siguiente comando para enumerar los conjuntos de datos de myotherproject
que tengan la etiqueta department:shipping
:
bq ls --filter "labels.department:shipping" --project_id myotherproject
La salida de cada uno de estos comandos devuelve una lista de conjuntos de datos como la siguiente.
+-----------+ | datasetId | +-----------+ | mydataset | | mydataset2| +-----------+
API
Llama al método de API datasets.list
y proporciona la especificación del filtro mediante la propiedad filter
.
Go
Antes de probar este ejemplo, sigue las Goinstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Go de BigQuery.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Java
Antes de probar este ejemplo, sigue las Javainstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de BigQuery.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Node.js
Antes de probar este ejemplo, sigue las Node.jsinstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de BigQuery.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Python
Antes de probar este ejemplo, sigue las Pythoninstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python de BigQuery.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Siguientes pasos
- Consulta cómo añadir etiquetas a recursos de BigQuery.
- Consulta cómo ver etiquetas en recursos de BigQuery.
- Consulta cómo actualizar etiquetas en recursos de BigQuery.
- Consulta cómo eliminar etiquetas de recursos de BigQuery.
- Consulta información sobre el uso de etiquetas en la documentación de Resource Manager.