0Pricing
Ansible Academy · Lektion

Über Dictionaries iterieren

Erstellen Sie Benutzer aus Schlüssel-Wert-Daten.

Über Dictionaries iterieren ist eine kostenlose Ansible Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Ansible Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Ansible Academy-Kurs umfasst insgesamt 4 Lektionen.

Listen reichen nicht aus

Beim Erstellen von Benutzern benötigen Sie mehr als einen Namen: eine Gruppe, eine Shell und einen Status. Eine flache Liste kann diese Informationen nicht aufnehmen. Sie benötigen eine Liste von Dictionaries. 🗂️

Eine Liste von Dictionaries

Jeder Listeneintrag wird zu einem kleinen Dictionary aus Schlüssel-Wert-Paaren. Dadurch stehen in jeder Schleifeniteration mehrere benannte Felder zur Verfügung.

loop:
  - { name: alice, group: admin }
  - { name: bob, group: dev }

Auf Schlüssel mit item.key zugreifen

Wenn item ein Dictionary ist, lesen Sie jedes Feld mit item.fieldname aus. item.name und item.group liefern beispielsweise Werte aus dem aktuellen Eintrag.

- name: Add users
  ansible.builtin.user:
    name: "{{ item.name }}"
    group: "{{ item.group }}"
  loop:
    - { name: alice, group: admin }
    - { name: bob, group: dev }

Übersichtlichere mehrzeilige Form

Inline-Klammern werden schnell unübersichtlich. Schreiben Sie jedes Dictionary über mehrere Zeilen, um bei Einträgen mit vielen Schlüsseln die Lesbarkeit zu verbessern.

loop:
  - name: alice
    group: admin
    shell: /bin/bash
  - name: bob
    group: dev
    shell: /bin/zsh

Die Liste aus Vars beziehen

Definieren Sie Ihre Liste von Dictionaries als Variable und durchlaufen Sie sie anschließend. Die Daten befinden sich an einer Stelle, während der Task kurz und wiederverwendbar bleibt.

vars:
  users:
    - { name: alice, group: admin }
tasks:
  - ansible.builtin.user:
      name: "{{ item.name }}"
    loop: "{{ users }}"

Ein echtes Dictionary durchlaufen

Um ein echtes Dictionary aus Schlüssel-Wert-Paaren zu durchlaufen, leiten Sie es durch den Filter dict2items, sodass jedes Paar zu einem durchlaufbaren Element wird.

loop: "{{ ports | dict2items }}"

item.key und item.value

Nach dict2items stellt jedes Element item.key und item.value bereit: den Namen und die Daten der ursprünglichen Zuordnung.

- ansible.builtin.debug:
    msg: "{{ item.key }} = {{ item.value }}"
  loop: "{{ settings | dict2items }}"

Gemischte optionale Schlüssel

Nicht jeder Eintrag benötigt jeden Schlüssel. Kombinieren Sie eine Schleife mit dem Filter default, damit fehlende Felder auf einen sinnvollen Wert zurückfallen.

shell: "{{ item.shell | default('/bin/sh') }}"

Dictionaries halten Daten übersichtlich

Wenn Sie zugehörige Felder pro Element bündeln, bleiben Ihre Daten und Ihre Logik getrennt. Um einen Benutzer zu ändern, bearbeiten Sie die Daten und niemals den Task selbst.

Weiterhin vollständig idempotent

Jede Dictionary-Iteration ist ein eigener Modulaufruf. Daher meldet Ansible pro Benutzer changed oder ok, genau wie bei einfachen Listen.

Ideal für umfangreiche Konfigurationen

Benutzer, virtuelle Hosts und Firewall-Regeln: Alles, was pro Eintrag mehrere Attribute besitzt, passt perfekt in eine Liste von Dictionaries.

Kurzer Check

Sie durchlaufen eine Liste von Dictionaries. Wie lesen Sie ein Feld aus?

Zusammenfassung: Dictionaries durchlaufen

Sie haben Listen von Dictionaries durchlaufen, auf item.name-Felder zugegriffen und dict2items für echte Maps verwendet. Als Nächstes: verschachtelte Schleifen. 🎉

Häufig gestellte Fragen

Ist die Lektion „Über Dictionaries iterieren“ kostenlos?

Ja — der vollständige Text von „Über Dictionaries iterieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Ansible Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Ansible Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Über Dictionaries iterieren“?

Erstellen Sie Benutzer aus Schlüssel-Wert-Daten. Du übst Ansible Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Ansible Academy zu starten?

Keine Vorkenntnisse erforderlich. Ansible Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Über Dictionaries iterieren“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Ansible Academy-Lektion Code schreiben und ausführen?

Ja. Jede Ansible Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Das loop-Schlüsselwort für Listen
  2. Über Dictionaries iterieren
  3. Verschachtelte Schleifen mit subelements
  4. loop_control: label, index und pause
← Zurück zu Ansible Academy