community.rabbitmq.rabbitmq lookup — получение сообщений из очереди RabbitMQ AMQP/AMQPS.
Примечание
Этот плагин поиска входит в коллекцию community.rabbitmq (версия 1.6.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.rabbitmq. Для использования этого плагина поиска могут потребоваться дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: 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 string | Количество сообщений, которые нужно получить из очереди. Если значение не задано, по умолчанию извлекаются все сообщения из очереди. |
queue string / обязательный | Очередь, из которой нужно получить сообщения. |
url string / обязательный | Строка URI для подключения к серверу RabbitMQ AMQP/AMQPS. Дополнительную информацию см. в спецификации URI https://www.rabbitmq.com/uri-spec.html. |
Примечания
Примечание
- Этот плагин поиска использует BlockingChannel.basic_get для получения сообщений с сервера RabbitMQ.
- После получения сообщения с сервера подтверждается его получение, а само сообщение удаляется с сервера.
- Pika — это реализация протокола AMQP 0-9-1 на чистом Python, которая стремится оставаться достаточно независимой от используемой библиотеки поддержки сети.
- Дополнительную информацию о 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
Возвращаемое значение
Ключ | Описание |
|---|---|
Возвращаемое значение list / elements=string | Список словарей с ключами и значениями из очереди. Возвращается: при успешном выполнении |
|
content_type string |
Значение content_type сообщения в очереди. Возвращается: при успешном выполнении |
|
delivery_mode string |
Значение delivery_mode сообщения в очереди. Возвращается: при успешном выполнении |
|
delivery_tag string |
Значение delivery_tag сообщения в очереди. Возвращается: при успешном выполнении |
|
exchange string |
Обменник, из которого пришло сообщение. Возвращается: при успешном выполнении |
|
headers dictionary |
Заголовки сообщения, полученного из очереди. Возвращается: при успешном выполнении |
|
json dictionary |
Если для content_type указано application/json, данные json будут загружены в переменные. Возвращается: при успешном выполнении |
|
message_count string |
Значение message_count для сообщения в очереди. Возвращается: при успешном выполнении |
|
msg string |
Содержимое сообщения. Возвращается: при успешном выполнении |
|
redelivered boolean |
Флаг redelivered. Равно True, если сообщение уже доставлялось ранее. Возвращается: при успешном выполнении |
|
routing_key string |
Значение routing_key сообщения в очереди. Возвращается: при успешном выполнении |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/rabbitmq/rabbitmq_lookup.html