Door dictionaries itereren
Maak gebruikers aan op basis van key-valuegegevens.
Door dictionaries itereren is een gratis DevOps-bootcamp-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject DevOps-bootcamp. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus DevOps-bootcamp bevat in totaal 4 lessen.
Lijsten zijn niet genoeg
Gebruikers aanmaken vereist meer dan een naam: een groep, een shell en een status. Een platte lijst kan dat niet bevatten. Je hebt een lijst met woordenboeken nodig. 🗂️
Een lijst met woordenboeken
Elke invoer in de lijst wordt een klein woordenboek met sleutel-waardeparen. Elke iteratie van de lus beschikt zo over meerdere benoemde velden.
loop:
- { name: alice, group: admin }
- { name: bob, group: dev }Sleutels openen met item.key
Als item een woordenboek is, lees je elk veld met item.fieldname. item.name en item.group halen zo waarden op uit de huidige invoer.
- name: Add users
ansible.builtin.user:
name: "{{ item.name }}"
group: "{{ item.group }}"
loop:
- { name: alice, group: admin }
- { name: bob, group: dev }Nettere vorm over meerdere regels
Inline accolades worden al snel krap. Schrijf elk woordenboek over meerdere regels voor een betere leesbaarheid wanneer invoeren veel sleutels hebben.
loop:
- name: alice
group: admin
shell: /bin/bash
- name: bob
group: dev
shell: /bin/zshHaal de lijst uit variabelen
Definieer je lijst met woordenboeken als een variabele en doorloop die vervolgens. De gegevens staan op één plek; de taak blijft kort en herbruikbaar.
vars:
users:
- { name: alice, group: admin }
tasks:
- ansible.builtin.user:
name: "{{ item.name }}"
loop: "{{ users }}"Een echt woordenboek doorlopen
Als je een echt woordenboek met sleutel-waardeparen wilt doorlopen, geef je het door aan het filter dict2items, zodat elk paar een item wordt dat je kunt doorlopen.
loop: "{{ ports | dict2items }}"item.key en item.value
Na dict2items bevat elk item item.key en item.value: de oorspronkelijke naam van de toewijzing en de bijbehorende gegevens.
- ansible.builtin.debug:
msg: "{{ item.key }} = {{ item.value }}"
loop: "{{ settings | dict2items }}"Gemengde, optionele sleutels
Niet elke invoer heeft elke sleutel nodig. Combineer een lus met het filter default, zodat ontbrekende velden terugvallen op een zinvolle waarde.
shell: "{{ item.shell | default('/bin/sh') }}"Woordenboeken houden gegevens overzichtelijk
Door verwante velden per item te bundelen, houd je gegevens en logica gescheiden. Een gebruiker bewerken betekent gegevens aanpassen, niet de taak zelf.
Nog steeds volledig idempotent
Elke iteratie van een woordenboek is een afzonderlijke moduleaanroep, dus Ansible meldt per gebruiker changed of ok, precies zoals bij eenvoudige lijsten.
Ideaal voor bulkconfiguratie
Gebruikers, virtuele hosts en firewallregels: alles met meerdere kenmerken per invoer past perfect in een lijst met woordenboeken.
Korte controle
Je doorloopt een lijst met woordenboeken. Hoe lees je een veld?
Samenvatting: lussen met woordenboeken
Je hebt lijsten met woordenboeken doorlopen, item.name-velden gelezen en dict2items voor echte toewijzingen gebruikt. Hierna: geneste lussen. 🎉
Leer DevOps-bootcamp met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 142
- Lessen
- 568
Veelgestelde vragen
Is de les “Door dictionaries itereren” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad DevOps-bootcamp, waaronder “Door dictionaries itereren”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus DevOps-bootcamp bevat in totaal 4 lessen.
Wat leer ik in “Door dictionaries itereren”?
Maak gebruikers aan op basis van key-valuegegevens. Je oefent met DevOps-bootcamp door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met DevOps-bootcamp te beginnen?
Ervaring vooraf is niet nodig. DevOps-bootcamp op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Door dictionaries itereren”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over DevOps-bootcamp?
Ja. Elke les over DevOps-bootcamp bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Het loop-trefwoord voor een lijst
- Door dictionaries itereren
- Geneste lussen met subelements
- loop_control: label, index en pauze