Ansible Academy · Lektion

Gennemløb af dictionaries

Opret brugere ud fra key-value-data.

Lektion 2 af 413 trin

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/zsh

Hent 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. 🎉

Gratis at komme i gang

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

  1. Nøgleordet loop over en liste
  2. Gennemløb af dictionaries
  3. Indlejrede loops med subelements
  4. loop_control: label, index & pause
← Tilbage til Ansible Academy