¿Cómo funcionan los filtros ansibles??

¿Cómo funcionan los filtros ansibles??
Una de las partes principales de cualquier marco o software de gestión es la forma en que maneja y procesa los datos. Teniendo en cuenta la dirección en la que va el mundo de la tecnología de la información, es justo decir que los datos son rey. Se generan grandes cantidades de datos diariamente para ser utilizados para diferentes fines. Por lo tanto, la gestión de datos y el procesamiento muy importante.

Se requiere software como Ansible para manejar grandes cantidades de datos. Mirando las facilitaciones que se supone que deben proporcionar estos tipos de aplicaciones, sus capacidades de procesamiento de datos deben ser de primera categoría.

Siempre que necesitemos procesar, formatear o manipular datos en Ansible, usamos filtros. Hay dos conjuntos de filtros disponibles en Ansible. Un conjunto es los filtros de plantilla Jinja2 y el otro conjunto es de los filtros personalizados realizados por los usuarios.

Sin embargo, en el fondo, todos los filtros se derivan de la plantilla Jinja2, que funciona de manera que los datos que se ingresan en los filtros se convierten primero en expresiones de plantilla para que los filtros se les puedan aplicar a ellos.

Otro punto importante para tomar nota es que todos los filtros se aplican localmente, lo que significa que no se puede realizar un filtrado utilizando hosts remotos. Entonces, toda la manipulación y el procesamiento tienen lugar en la máquina de control Ansible.

Si está buscando aprender sobre los filtros disponibles en Ansible y cómo se usan, ha encontrado el artículo correcto, ya que lo guiaremos sobre cómo funcionan estos filtros y cómo puede crear libros de jugadas Ansible para procesar datos de la forma en que desea sistema.

¿Cómo funcionan los filtros??

El trabajo detrás de los filtros de datos es simple. Otorga filtros previamente desarrollados algunos datos o información como entrada; El filtro analiza los datos de acuerdo con los comandos dados en el libro de jugadas y las condiciones que ha establecido. Después de analizar los datos, recibirá la salida personalizada que desea de los datos que tenía.

Diferentes tipos de filtros realizan diferentes tipos de filtrado en los datos. Como se mencionó anteriormente, todos ellos funcionan basados ​​en la plantilla Jinja2 y hay una lista de todos los filtros disponibles. Puede ver esa lista haciendo clic en este enlace.

Existen numerosas ventajas de usar filtros, ya que mejoran en gran medida las capacidades de Ansible. También puede usar filtros para la depuración en ciertos casos.

Cómo implementar filtros en Ansible?

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

|

Otro punto importante a tomar nota es que la transformación de datos en el fondo se realiza utilizando Python. En caso de que un cierto tipo de plantilla no esté disponible con Python, el filtro puede no darle la salida correcta. Por lo tanto, debe tener cuidado mientras usa algunos filtros.

Hasta ahora has aprendido los conceptos básicos de los filtros Ansible. Para aclarar cualquier consulta adicional, echemos un vistazo a algunos ejemplos de filtrado y diferentes tipos de filtros.

Ejemplos

- Nombre: Generar múltiples nombres de host arbitrarios
ansible.incorporado.depurar:
Msg: "['ABC', 'xyz'] | Product (['com']) | Map ('unirse', '.') | unirse(',') "

Además, nos gustaría mencionar aquí que para ejecutar un libro de jugadas, el siguiente comando tendría que ser ejecutado utilizando el terminal de Linux:

Ansible-Playbook Testbook.YML

En este ejemplo, hemos utilizado el filtro "producto". El filtro de productos se utiliza para implementar la multiplicación cartesiana. El filtro de "producto" es algo análogo para usar para bucles en los lenguajes de programación tradicionales. La salida que recibirá ejecutando dicho código sería.

"msg": "ABC.com, xyz.com "

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

- Nombre: Dame combinaciones para conjuntos de dos
ansible.incorporado.depurar:
Msg: "[10,20,30,40,50] | Ansible.incorporado.Combinaciones (2) | lista "

Hemos utilizado el filtro de "combinación" para obtener combinaciones de dos números de un conjunto dado. Las 2 instrucciones especificadas en entre paréntesis para hacer combinaciones de 2 y la palabra clave de "lista" le dará la salida en forma de lista.

- Nombre: Grandes permutaciones (orden de pedido)
ansible.incorporado.depurar:
Msg: "[0,2,4,6,8] | Ansible.incorporado.Permutaciones | lista "
- Nombre: Permutaciones de conjuntos de tres
ansible.incorporado.depurar:
Msg: "[1,3,5,7,9] | Ansible.incorporado.Permutaciones (3) | lista "

Existe la provisión de un filtro de "permutación" también. Este filtro nos da permutaciones de un conjunto dado de variables o datos. En el ejemplo anterior, recibiremos las mayores permutaciones del conjunto de números par y permutaciones de conjuntos de tres de los números impares.

"['a', 'b', 'c'] | aleatorio"

Este ejemplo utiliza el filtro "aleatorio" para generar un número aleatorio a partir de un conjunto dado de datos.

51 | aleatorio (paso = 10)

Este ejemplo también utilizó el filtro "aleatorio" para generar un número aleatorio entre 0 y 50. También hemos dado la condición de que el tamaño del paso debe ser 10, por lo que la salida que obtendrá sería un número que es un múltiplo de 10.

['a', 'b', 'c', 'd', 'e'] | Shuffle

El filtro "Shuffle" se puede usar para barajar el conjunto de datos para producir una salida en la que se barajará el dado y luego se le mostrará.

[['val': 1, 'val': 2, 'val': 3, 'val': 4] | min (atributo = 'val')

Finalmente, hemos utilizado el filtro "min" que comparará los dos números de entrada que hemos dado como entrada y le dará el número más pequeño como salida.

['val': 1, 'val': 2] | max (attribute = 'val')

Del mismo modo, aquí usamos el filtro "máximo" para obtener el número máximo de un conjunto de datos determinado.

Entonces, estos fueron los ejemplos de algunos de los filtros disponibles en Ansible. Hay muchos otros filtros que usan los que puede procesar y formatear datos.

Conclusión

En este artículo, miramos filtros Ansible. Establecimos por qué necesitamos filtros en el análisis de datos y observamos algunos filtros proporcionados por el complemento. Esperamos que pudimos ayudarlo a comprender por qué los filtros son importantes y, lo que es más importante, usted comprende cómo puede usarlos para su beneficio. No dude en dejar cualquier pregunta en la sección de comentarios.