Tutoriales

¿Cómo funcionan los filtros de Ansible?

Una de las partes principales de cualquier marco o software de gestión es cómo se manejan y procesan los datos. Teniendo en cuenta la dirección en la que va el mundo de la tecnología de la información, se puede decir que los datos son los reyes. Cada día se generan enormes cantidades de datos, que se utilizan para diferentes propósitos. Por lo tanto, la gestión y el procesamiento de datos es muy importante.

Se requiere software como Ansible para procesar cantidades masivas de datos. Teniendo en cuenta las facilidades que se supone que ofrecen este tipo de aplicaciones, sus capacidades de procesamiento de datos deben ser de primera categoría.

Siempre que necesitamos procesar, formatear o manipular datos en Ansible, usamos filtros. Hay dos conjuntos de filtros disponibles en Ansible. Un conjunto consta de los filtros de plantilla jinja2 y el otro conjunto consta de los filtros personalizados creados por los usuarios.

Sin embargo, detrás de escena, todos los filtros se derivan de la plantilla jinja2, que funciona convirtiendo primero los datos ingresados ​​en los filtros en expresiones de plantilla para que los filtros puedan aplicarse a ellos.

Otro punto importante a tener en cuenta es que todos los filtros se aplican localmente, lo que significa que no se puede filtrar con hosts remotos. Entonces, toda la manipulación y el procesamiento ocurren en el motor de control de Ansible.

Si está interesado en obtener más información sobre los filtros disponibles en Ansible y cómo usarlos, ha encontrado el artículo correcto, ya que le mostraremos cómo funcionan estos filtros y cómo puede crear playbooks de Ansible para procesar datos de la manera quieres que el sistema lo haga.

¿Cómo funcionan los filtros?

Trabajar detrás de filtros de datos es fácil. Le das a los filtros prediseñados algunos datos o información como entrada; El filtro analiza los datos de acuerdo con los comandos especificados en el libro de jugadas y las condiciones que establezca. Después de analizar los datos, obtendrá el resultado personalizado que desea de los datos que tenía.

Diferentes tipos de filtros realizan diferentes tipos de filtrado en los datos. Como se mencionó, todos se basan en la plantilla jinja2 y hay una lista de todos los filtros disponibles. Puedes ver esta lista haciendo clic en este enlace.

El uso de filtros ofrece numerosos beneficios, ya que mejoran en gran medida las capacidades de Ansible. También puede utilizar filtros para la depuración en determinados casos.

¿Cómo implementar filtros en Ansible?

La sintaxis básica de cualquier filtro de Ansible viene dada por:

Otro punto importante es que la transformación de datos se realiza en segundo plano utilizando Python. Si un tipo de plantilla específico no está disponible con Python, es posible que el filtro no proporcione el resultado correcto. Por lo tanto, debe tener cuidado al usar algunos filtros.

Hasta ahora ha aprendido los conceptos básicos de los filtros de Ansible. Para aclarar más preguntas, echemos un vistazo a algunos ejemplos de filtrado y diferentes tipos de filtros.

ejemplos

– nombre: generar múltiples nombres de host arbitrarios
ansible.construido.depuración:
Noticias: «{{ [‘abc’, ‘xyz’] | Producto([‘com’]) | map(‘unirse’, ‘.’) | unir(‘,’) }}»

Además, queremos mencionar aquí que para ejecutar un libro de jugadas, el siguiente comando debería ejecutarse desde la terminal de Linux:

ansible-playbook testbook.yml

En este ejemplo usamos el filtro «Producto». El filtro de producto se utiliza para implementar la multiplicación cartesiana. El filtro «Producto» es algo análogo al uso de bucles en los lenguajes de programación tradicionales. El resultado que obtiene cuando ejecuta dicho código sería.

{ «mensaje»: «abc.com,xyz.com» }

Así es como obtienes combinaciones para conjuntos de dos números.

– Nombre: Dame combinaciones para conjuntos de dos
ansible.construido.depuración:
Noticias: «{{ [10,20,30,40,50] | ansible.combinaciones.integradas(2) | lista }}»

Usamos el filtro «Combinaciones» para obtener combinaciones de dos números de un conjunto dado. El 2 entre paréntesis te dice que crees combinaciones de 2, y la palabra clave list te da el resultado en forma de lista.

– Nombre: Permutaciones más grandes (el orden importa)
ansible.construido.depuración:
Noticias: «{{ [0,2,4,6,8] | permutaciones.incorporadas.ansible | lista }}»
– Nombre: Permutaciones de tripletes
ansible.construido.depuración:
Noticias: «{{ [1,3,5,7,9] | permutaciones.incorporadas.ansible(3) | lista }}»

También existe la provisión de un filtro de «permutación». Este filtro nos da permutaciones de un conjunto específico de variables o datos. En el ejemplo anterior, obtenemos las permutaciones más grandes del conjunto de números pares y las permutaciones de triples de los números impares.

«{{ [‘a’,’b’,’c’] | casualmente }}»

En este ejemplo, el filtro «Aleatorio» se utiliza para generar un número aleatorio a partir de un conjunto de datos determinado.

{{ 51 | aleatorio (paso = 10) }}

En este ejemplo, también se utilizó el filtro «Aleatorio» para generar un número aleatorio entre 0 y 50. También especificamos la condición de que el tamaño del paso debe ser 10, por lo que el resultado que obtenga será un número que sea un múltiplo de 10.

{{ [‘a’,’b’,’c’,’d’,’e’] | Mezcla }}

El filtro «Mezclar» se puede usar para mezclar el conjunto de datos para producir una salida en la que los datos dados se mezclan y luego se muestran.

{{ [{‘val’: 1}, {‘val’: 2},{‘val’:3},{‘val’:4}] | min(atributo=»valor») }}

Finalmente, usamos el filtro «min», que compara los dos números de entrada que le dimos como entrada y le da el número más pequeño como salida.

{{ [{‘val’: 1}, {‘val’: 2}] | max(atributo=»valor») }}

De manera similar, aquí usamos el filtro «Max» para obtener el recuento máximo de un conjunto de datos determinado.

Estos fueron los ejemplos de algunos de los filtros disponibles en Ansible. Hay muchos otros filtros que puede usar para procesar y dar formato a los datos.

Conclusión

En este artículo, analizamos los filtros de Ansible. Identificamos por qué necesitamos filtros en el análisis de datos y observamos algunos filtros proporcionados por el complemento. Esperamos haberlo ayudado a comprender por qué los filtros son importantes y, lo que es más importante, ahora comprende cómo puede usarlos para su beneficio. Siéntase libre de dejar preguntas en la sección de comentarios.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba