Filtra recursos mediante etiquetas
Para filtrar recursos mediante el uso de etiquetas, puedes realizar una de las siguientes acciones:
- Usa la barra de búsqueda en la consola de Google Cloud.
- Crea una especificación de filtro para usar en la API, la herramienta de línea de comandos de bq o las bibliotecas cliente.
Limitaciones
- La API, la herramienta de línea de comandos de bq y las bibliotecas cliente son compatibles con el filtrado solo para conjuntos de datos.
- No puedes filtrar trabajos por etiqueta en ninguna de las herramientas de BigQuery.
Antes de comenzar
Otorga roles de Identity and Access Management (IAM) que les brindan a los usuarios los permisos necesarios para hacer cada tarea de este documento.
Permisos necesarios
Para filtrar recursos mediante el uso de etiquetas, debes ser capaz de recuperar los metadatos del recurso. Para filtrar recursos mediante el uso de etiquetas, necesitas los siguientes permisos de IAM:
bigquery.datasets.get
: te permite filtrar conjuntos de datosbigquery.tables.get
: te permite filtrar tablas y vistas
Cada una de las siguientes funciones predefinidas de IAM 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 una de las siguientes funciones predefinidas de IAM incluye los permisos que necesitas para copiar tablas y particiones:
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 creas.
Para obtener más información sobre las funciones y los permisos de IAM en BigQuery, consulta Funciones y permisos predefinidos.
Filtra recursos en la consola de Google Cloud
Para generar una lista filtrada de recursos, usa la consola de Google Cloud:
En la consola de Google Cloud, ve al panel Explorador.
En la barra de búsqueda, ingresa el par
key
okey:value
. En tus resultados, se incluye cualquier coincidencia parcial.Por ejemplo, para mostrar solo los conjuntos de datos con la etiqueta
department:shipping
, puedes ingresardepartment
odepartment:shipping
.
Filtra conjuntos de datos en la API o en la herramienta de línea de comandos de bq
En la actualidad, la API, la herramienta de línea de comandos de bq y las bibliotecas cliente son compatibles con el filtrado solo para conjuntos de datos.
Para filtrar conjuntos de datos con la API, la herramienta de bq o las bibliotecas cliente, crea una especificación de filtro y úsala de alguna de estas formas:
- Como parámetro para la marca
--filter
en la herramienta de bq - Como valor de la propiedad
filter
en el métododatasets.list
de la API
Limitaciones de las especificaciones de los 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. - En la actualidad, el único campo apto para filtrar es
labels.key
, en el quekey
es el nombre de una etiqueta. - El filtro puede incluir hasta diez expresiones.
- El filtro distingue mayúsculas y minúsculas.
- En la actualidad, la API, la herramienta de línea de comandos de bq y las bibliotecas cliente son compatibles con el filtrado solo para conjuntos de datos.
Ejemplos de especificación de filtro
En una especificación de filtro, se usa la siguiente sintaxis:
"field[:value][ field[:value]]..."
Reemplaza lo siguiente:
field
se expresa comolabels.key
, y 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 una 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 conjuntos de datos con la etiqueta department:shipping
y la location:usa
, usa la siguiente especificación de filtro:
labels.department:shipping labels.location:usa
Puedes filtrar según la sola presencia de una clave, sin buscar coincidencia con un par clave-valor. Con la siguiente especificación de filtro, se enumeran todos los conjuntos de datos etiquetados como department
con independencia del valor.
labels.department
En una especificación de filtro equivalente, se 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 recursos con la etiqueta department:shipping
y la test_data
, usa la siguiente especificación de filtro:
labels.department:shipping labels.test_data
Filtra conjuntos de datos en la herramienta de línea de comandos de bq y en la API
Para filtrar conjuntos de datos con la API, la herramienta de línea de comandos de bq o las bibliotecas cliente, haz lo siguiente:
bq
Ejecuta el comando bq ls
con la marca --filter
. Si vas a enumerar conjuntos de datos en un proyecto que no es tu proyecto predeterminado, especifica la marca --project_id
.
bq ls \ --filter "filter_specification" \ --project_id project_id
Reemplaza lo siguiente:
filter_specification
es una especificación de filtro válida.project_id
es el ID del proyecto.
Ejemplos:
Ingresa el siguiente comando para enumerar los conjuntos de datos en tu proyecto predeterminado que tengan una etiqueta department:shipping
:
bq ls --filter "labels.department:shipping"
Ingresa el siguiente comando para enumerar los conjuntos de datos en tu proyecto predeterminado que tengan una etiqueta department:shipping
y una test_data
.
bq ls --filter "labels.department:shipping labels.test_data"
Ingresa el siguiente comando para enumerar conjuntos de datos en myotherproject
que tengan una etiqueta department:shipping
:
bq ls --filter "labels.department:shipping" --project_id myotherproject
En el resultado de cada uno de estos comandos, se muestra una lista de conjuntos de datos como la siguiente.
+-----------+ | datasetId | +-----------+ | mydataset | | mydataset2| +-----------+
API
Llama al método de la API datasets.list
y proporciona la especificación del filtro con la propiedad filter
.
Go
Antes de probar este ejemplo, sigue las instrucciones de configuración para Go incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Go.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Node.js.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Python
Antes de probar este ejemplo, sigue las instrucciones de configuración para Python incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Python.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
¿Qué sigue?
- Aprende a agregar etiquetas a los recursos de BigQuery.
- Aprende a ver etiquetas en los recursos de BigQuery.
- Aprende a actualizar etiquetas en los recursos de BigQuery.
- Aprende a borrar etiquetas de los recursos de BigQuery.
- Aprende a usar etiquetas en la documentación de Resource Manager.