Spec-Zone.ru › Ansible 2.8

rabbitmq – Извлечение сообщений из очереди RabbitMQ AMQP/AMQPS

Новое в версии 2.8.

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Краткое описание

  • Этот запрос использует базовый метод получения для извлечения всех или ограниченного числа count, сообщений из очереди RabbitMQ.

Требования

Ниже перечислены требования к локальному мастер-узлу, на котором выполняется этот запрос.

  • Пакет python pika https://pypi.org/project/pika/.

Параметры

Параметр Варианты/Значения по умолчанию Настройка Комментарии
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('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('rabbitmq', 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
список
Список словарей с ключами и значениями из очереди.

content_type
строка
Тип содержимого сообщения в очереди.

delivery_mode
строка
Режим доставки сообщения в очереди.

delivery_tag
строка
Идентификатор доставки сообщения в очереди.

exchange
строка
Обмен, из которого пришло сообщение.

headers
словарь
Заголовки сообщения, возвращённого из очереди.

json
словарь
Если в content_type указано application/json, json будет загружен в переменные.

message_count
строка
Количество сообщений в очереди.

msg
строка
Содержимое сообщения.

redelivered
логическое значение
Флаг повторной доставки. True, если сообщение уже доставлялось ранее.

routing_key
строка
Ключ маршрутизации сообщения в очереди.



Статус

  • Не гарантируется обратная совместимость этого запроса. [превью]
  • Этот запрос поддерживается сообществом Ansible. [сообщество]

Авторы

  • John Imison <@Im0>

Подсказка

Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

Подсказка

Элементы конфигурации для каждого типа имеют порядок приоритетов от низкого к высокому. Например, переменная, расположенная ниже в списке, переопределит переменную, расположенную выше.

© 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/plugins/lookup/rabbitmq.html

Spec-Zone.ru

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