community.rabbitmq.rabbitmq lookup – Получение сообщений из очереди RabbitMQ AMQP/AMQPS.
Примечание
Этот плагин поиска входит в коллекцию community.rabbitmq (версия 1.3.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.rabbitmq. Для использования этого плагина поиска требуются дополнительные зависимости. Подробнее см. Требования.
Для использования в playbook укажите: community.rabbitmq.rabbitmq.
Описание
- Этот плагин использует базовый метод get для получения всех или ограниченного числа
count, сообщений из очереди RabbitMQ.
Требования
Ниже перечислены требования к локальному контроллеру, на котором выполняется этот плагин поиска.
- Пакет python pika https://pypi.org/project/pika/.
Ключевые параметры
Это описание ключевых параметров плагина поиска. Это значения key1=value1, key2=value2 и т. д. в следующих примерах: lookup('community.rabbitmq.rabbitmq', key1=value1, key2=value2, ...) и query('community.rabbitmq.rabbitmq', key1=value1, key2=value2, ...)
Параметр | Комментарии |
|---|---|
count строка | Количество сообщений для сбора из очереди. Если не задано, по умолчанию извлекаются все сообщения из очереди. |
queue строка / обязательно | Очередь для получения сообщений. |
url строка / обязательно | Строка подключения в формате URI для подключения к серверу RabbitMQ AMQP/AMQPS. Дополнительная информация о формате URI https://www.rabbitmq.com/uri-spec.html. |
Примечания
Примечание
- Этот плагин использует BlockingChannel.basic_get для получения сообщений с сервера RabbitMQ.
- После получения сообщения с сервера, подтверждается получение сообщения, и сообщение на сервере удаляется.
- Pika — это чисто Python-реализация протокола AMQP 0-9-1, которая старается оставаться относительно независимой от библиотеки поддержки базового уровня сети.
- Дополнительную информацию о pika можно найти по адресу https://pika.readthedocs.io/en/stable/.
- Плагин протестирован на RabbitMQ. Другие серверы, основанные на протоколе AMQP 0.9.1, могут работать, но не протестированы/не гарантированы.
- Присвоение возвращаемых сообщений переменной в
varsможет привести к непредсказуемым результатам, так как плагин поиска оценивается каждый раз при обращении к переменной. - В настоящее время этот плагин обрабатывает только текстовые сообщения из очереди. При получении двоичных данных могут возникнуть неожиданные результаты.
Примеры
- name: Get all messages off a queue
debug:
msg: "{{ lookup('community.rabbitmq.rabbitmq', url='amqp://guest:guest@192.168.0.10:5672/%2F', queue='hello') }}"
# If you are intending on using the returned messages as a variable in more than
# one task (eg. debug, template), it is recommended to set_fact.
- name: Get 2 messages off a queue and set a fact for re-use
set_fact:
messages: "{{ lookup('community.rabbitmq.rabbiotmq', url='amqp://guest:guest@192.168.0.10:5672/%2F', queue='hello', count=2) }}"
- name: Dump out contents of the messages
debug:
var: messages
Значение возврата
Ключ | Описание |
|---|---|
Значение возврата список / элементы=строка | Список словарей с ключами и значениями из очереди. Возвращено: успешно |
|
content_type строка |
Тип содержимого сообщения в очереди. Возвращено: успешно |
|
delivery_mode строка |
Режим доставки сообщения в очереди. Возвращено: успешно |
|
delivery_tag строка |
Тег доставки сообщения в очереди. Возвращено: успешно |
|
exchange строка |
Обменник, из которого пришло сообщение. Возвращено: успешно |
|
headers словарь |
Заголовки сообщения, возвращённые из очереди. Возвращено: успешно |
|
json словарь |
Если в content_type указано application/json, json будет загружен в переменные. Возвращено: успешно |
|
message_count строка |
Количество сообщений в очереди. Возвращено: успешно |
|
msg строка |
Содержимое сообщения. Возвращено: успешно |
|
redelivered логическое |
Флаг повторной доставки. True, если сообщение доставлялось ранее. Возвращено: успешно |
|
routing_key строка |
Ключ маршрутизации сообщения в очереди. Возвращено: успешно |
Ссылки на сборку
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/rabbitmq/rabbitmq_lookup.html