Recorrer diccionarios
Cree usuarios a partir de datos clave-valor
Recorrer diccionarios es una lección gratuita de Ansible Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Ansible Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Ansible Academy incluye 4 lecciones en total.
Las listas no bastan
Crear usuarios requiere más que un nombre: un grupo, un shell y un estado. Una lista plana no puede contener todo eso. Necesita una lista de diccionarios. 🗂️
Una lista de diccionarios
Cada entrada de la lista se convierte en un pequeño diccionario de pares clave-valor. Así, cada iteración del bucle dispone de varios campos con nombre.
loop:
- { name: alice, group: admin }
- { name: bob, group: dev }Acceda a las claves con item.key
Cuando item es un diccionario, lea cada campo con item.fieldname. Por tanto, item.name y item.group extraen valores de la entrada actual.
- name: Add users
ansible.builtin.user:
name: "{{ item.name }}"
group: "{{ item.group }}"
loop:
- { name: alice, group: admin }
- { name: bob, group: dev }Formato multilínea más legible
Las llaves en una sola línea pueden quedar demasiado juntas. Escriba cada diccionario en varias líneas para mejorar la legibilidad cuando las entradas tengan muchas claves.
loop:
- name: alice
group: admin
shell: /bin/bash
- name: bob
group: dev
shell: /bin/zshObtenga la lista de las variables
Defina su lista de diccionarios como una variable y, después, itere sobre ella. Los datos quedan en un solo lugar; la tarea se mantiene breve y reutilizable.
vars:
users:
- { name: alice, group: admin }
tasks:
- ansible.builtin.user:
name: "{{ item.name }}"
loop: "{{ users }}"Iterar sobre un diccionario real
Para iterar sobre un diccionario real de pares clave-valor, páselo por el filtro dict2items para que cada par se convierta en un elemento iterable.
loop: "{{ ports | dict2items }}"item.key e item.value
Después de aplicar dict2items, cada item expone item.key y item.value: el nombre y los datos de la asignación original.
- ansible.builtin.debug:
msg: "{{ item.key }} = {{ item.value }}"
loop: "{{ settings | dict2items }}"Claves opcionales combinadas
No todas las entradas necesitan todas las claves. Combine un bucle con el filtro default para que los campos que falten adopten un valor razonable.
shell: "{{ item.shell | default('/bin/sh') }}"Los diccionarios mantienen los datos ordenados
Agrupar los campos relacionados de cada elemento mantiene los datos y la lógica separados. Para editar un usuario, solo debe editar los datos, nunca la tarea.
Totalmente idempotente
Cada iteración del diccionario es su propia llamada al módulo, por lo que Ansible informa changed o ok para cada usuario, igual que con las listas simples.
Ideal para configuraciones masivas
Usuarios, hosts virtuales y reglas de firewall: cualquier elemento con varios atributos encaja perfectamente en una lista de diccionarios.
Comprobación rápida
Está iterando sobre una lista de diccionarios. ¿Cómo lee un campo?
Resumen: bucles sobre diccionarios
Iteró sobre listas de diccionarios, leyó campos item.name y utilizó dict2items para los mapas reales. A continuación: bucles anidados. 🎉
Preguntas frecuentes
¿La lección «Recorrer diccionarios» es gratis?
Sí — el texto completo de «Recorrer diccionarios» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Ansible Academy, actualiza a CoddyKit PRO. El curso de Ansible Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Recorrer diccionarios»?
Cree usuarios a partir de datos clave-valor Practicas Ansible Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Ansible Academy?
No se requiere experiencia previa. Ansible Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Recorrer diccionarios»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Ansible Academy?
Sí. Cada lección de Ansible Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- La palabra clave loop sobre una lista
- Recorrer diccionarios
- Bucles anidados con subelements
- loop_control: label, index y pause