Gennemløb af dictionaries
Opret brugere ud fra key-value-data.
Gennemløb af dictionaries er en gratis Ansible Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Ansible Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Ansible Academy-kurset indeholder 4 lektioner i alt.
Lister er ikke nok
Oprettelse af brugere kræver mere end et navn: en gruppe, en shell og en tilstand. En flad liste kan ikke indeholde det. Du har brug for en liste med ordbøger. 🗂️
En liste med ordbøger
Hver post i listen bliver til en lille ordbog med nøgleværdi-par. Hver gentagelse i gennemløbet har derefter flere navngivne felter at arbejde med.
loop:
- { name: alice, group: admin }
- { name: bob, group: dev }Få adgang til nøgler med item.key
Når item er en ordbog, kan du læse hvert felt med item.fieldname. Så henter item.name og item.group værdier fra den aktuelle post.
- name: Add users
ansible.builtin.user:
name: "{{ item.name }}"
group: "{{ item.group }}"
loop:
- { name: alice, group: admin }
- { name: bob, group: dev }En mere læsbar form over flere linjer
Indlejrede klammeparenteser kan hurtigt blive trange. Skriv hver ordbog over flere linjer for at opnå bedre læsbarhed, når posterne har mange nøgler.
loop:
- name: alice
group: admin
shell: /bin/bash
- name: bob
group: dev
shell: /bin/zshHent listen fra variabler
Definér din liste med ordbøger som en variabel, og gennemløb den derefter. Dataene ligger ét sted, mens opgaven forbliver kort og genanvendelig.
vars:
users:
- { name: alice, group: admin }
tasks:
- ansible.builtin.user:
name: "{{ item.name }}"
loop: "{{ users }}"Gennemløb en rigtig ordbog
Hvis du vil gennemløbe en faktisk ordbog med nøgleværdi-par, skal du føre den gennem filteret dict2items, så hvert par bliver til et element, der kan gennemløbes.
loop: "{{ ports | dict2items }}"item.key og item.value
Efter dict2items indeholder hvert item item.key og item.value – den oprindelige afbildnings navn og dens data.
- ansible.builtin.debug:
msg: "{{ item.key }} = {{ item.value }}"
loop: "{{ settings | dict2items }}"Blandede, valgfrie nøgler
Ikke alle poster behøver at have alle nøgler. Kombinér et gennemløb med filteret default, så manglende felter falder tilbage til en fornuftig værdi.
shell: "{{ item.shell | default('/bin/sh') }}"Ordbøger holder dataene ryddelige
Ved at samle relaterede felter pr. element holder du data og logik adskilt. Når du redigerer en bruger, redigerer du dataene – aldrig selve opgaven.
Stadig fuldt idempotent
Hver gentagelse for en ordbog er sit eget modulopkald, så Ansible rapporterer changed eller ok for hver bruger, præcis som med simple lister.
Perfekt til massekonfiguration
Brugere, virtuelle værter og firewallregler: Alt med flere attributter pr. post passer perfekt til en liste med ordbøger.
Hurtigt tjek
Du gennemløber en liste med ordbøger. Hvordan læser du et felt?
Opsummering: Gennemløb af ordbøger
Du gennemløb lister med ordbøger, læste felter som item.name og brugte dict2items til rigtige afbildninger. Næste emne: indlejrede gennemløb. 🎉
Lær YAML med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 30
- Lektioner
- 120
Ofte stillede spørgsmål
Er lektionen “Gennemløb af dictionaries” gratis?
Ja — hele teksten til “Gennemløb af dictionaries” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Ansible Academy-kurset, skal du opgradere til CoddyKit PRO. Ansible Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Gennemløb af dictionaries”?
Opret brugere ud fra key-value-data. Du øver dig i Ansible Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Ansible Academy?
Der kræves ingen tidligere erfaring. Ansible Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.
Hvor lang tid tager lektionen “Gennemløb af dictionaries”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Ansible Academy-lektion?
Ja. Alle Ansible Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Nøgleordet loop over en liste
- Gennemløb af dictionaries
- Indlejrede loops med subelements
- loop_control: label, index & pause