Spec-Zone.ru › Ansible

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 сообщения в очереди.

Возвращается: при успешном выполнении

Авторы

  • John Imison (@Im0)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API