Обработка данных
Плагины обработки данных позволяют получить доступ к внешним источникам данных. Как и все шаблонизаторы, эти плагины выполняются на управляющей машине Ansible и могут включать чтение файловой системы, а также обращение к внешним хранилищам данных и сервисам. Эти данные затем становятся доступными с помощью стандартной системы шаблонизации Ansible.
Примечание
- Обработка данных происходит на локальном компьютере, а не на удалённом.
- Они выполняются в каталоге, содержащем роль или воспроизведение, в отличие от локальных задач, которые выполняются с каталогом исполняемого скрипта.
- Вы можете передать wantlist=True в плагин обработки данных, чтобы использовать его в циклах Jinja2.
- Обработка данных — это расширенная функция. Вы должны хорошо разбираться в Ansible-играх перед их использованием.
Предупреждение
Некоторые плагины обработки данных передают аргументы в оболочку. При использовании переменных из удалённого/ненадёжного источника используйте фильтр |quote для обеспечения безопасного использования.
Обработка данных и циклы
Плагины обработки данных — это способ запроса внешних источников данных, таких как командные оболочки или даже хранилища пар ключ-значение.
До Ansible 2.5 плагины обработки данных в основном использовались косвенно в with_<lookup> конструкциях для циклов. Начиная с версии Ansible 2.5, плагины обработки данных используются более явно как часть выражений Jinja2, передаваемых в ключевое слово loop.
Обработка данных и переменные
Один из способов использования плагинов обработки данных — это заполнение переменных. Эти макросы вычисляются каждый раз, когда они используются в задаче (или шаблоне):
vars:
motd_value: "{{ lookup('file', '/etc/motd') }}"
tasks:
- debug:
msg: "motd value is {{ motd_value }}"
Для получения дополнительной информации и полного списка доступных плагинов обработки данных см. Работа с плагинами.
См. также
- Работа с книгами задач
- Введение в книги задач
- Условные операторы
- Условные операторы в книгах задач
- Использование переменных
- Все о переменных
- Циклы
- Циклы в книгах задач
- Список рассылки пользователей
- Есть вопрос? Загляните в группу Google!
- irc.freenode.net
- IRC-чат-канал #ansible
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/user_guide/playbooks_lookups.html