Percorrendo dicionários
Crie usuários a partir de dados de chave e valor.
Percorrendo dicionários é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.
Listas não são suficientes
Criar usuários exige mais do que um nome: um grupo, um shell e um estado. Uma lista simples não consegue armazenar tudo isso. Você precisa de uma lista de dicionários. 🗂️
Uma lista de dicionários
Cada entrada da lista se torna um pequeno dicionário de pares chave-valor. Assim, cada iteração do loop tem vários campos nomeados para utilizar.
loop:
- { name: alice, group: admin }
- { name: bob, group: dev }Acesse chaves com item.key
Quando item é um dicionário, leia cada campo com item.fieldname. Assim, item.name e item.group extraem valores da entrada atual.
- name: Add users
ansible.builtin.user:
name: "{{ item.name }}"
group: "{{ item.group }}"
loop:
- { name: alice, group: admin }
- { name: bob, group: dev }Formato multilinha mais limpo
As chaves em uma única linha ficam apertadas. Escreva cada dicionário em várias linhas para melhorar a legibilidade quando as entradas tiverem muitas chaves.
loop:
- name: alice
group: admin
shell: /bin/bash
- name: bob
group: dev
shell: /bin/zshObtenha a lista de vars
Defina sua lista de dicionários como uma variável e depois percorra-a. Os dados ficam em um único lugar; a tarefa permanece curta e reutilizável.
vars:
users:
- { name: alice, group: admin }
tasks:
- ansible.builtin.user:
name: "{{ item.name }}"
loop: "{{ users }}"Percorrendo um dicionário real
Para iterar sobre um dict real de pares chave-valor, passe-o pelo filtro dict2items para que cada par se torne um item que possa ser percorrido.
loop: "{{ ports | dict2items }}"item.key e item.value
Depois de dict2items, cada item expõe item.key e item.value: o nome e os dados do mapeamento original.
- ansible.builtin.debug:
msg: "{{ item.key }} = {{ item.value }}"
loop: "{{ settings | dict2items }}"Chaves opcionais variadas
Nem toda entrada precisa de todas as chaves. Combine um loop com o filtro default para que os campos ausentes recebam um valor adequado.
shell: "{{ item.shell | default('/bin/sh') }}"Dicionários mantêm os dados organizados
Agrupar campos relacionados por item mantém seus dados e lógica separados. Editar um usuário significa editar os dados, nunca a própria tarefa.
Ainda totalmente idempotente
Cada iteração do dicionário é uma chamada de módulo independente, portanto o Ansible informa changed ou ok para cada usuário, exatamente como nas listas simples.
Ótimo para configurações em massa
Usuários, hosts virtuais e regras de firewall: qualquer coisa com vários atributos por entrada se encaixa perfeitamente em uma lista de dicionários.
Verificação rápida
Você percorre uma lista de dicionários. Como lê um campo?
Recapitulação: percorrendo dicionários
Você percorreu listas de dicionários, leu campos item.name e usou dict2items para mapas reais. A seguir: loops aninhados. 🎉
Perguntas Frequentes
A aula “Percorrendo dicionários” é grátis?
Sim — o texto completo de “Percorrendo dicionários” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que vou aprender em “Percorrendo dicionários”?
Crie usuários a partir de dados de chave e valor. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar DevOps Bootcamp?
Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Percorrendo dicionários”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de DevOps Bootcamp?
Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- A palavra-chave loop sobre uma lista
- Percorrendo dicionários
- Loops aninhados com subelements
- loop_control: label, index e pause