Spec-Zone.ru › Ansible

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

строка

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

Возвращено: успешно

Авторы

  • John Imison (@Im0)

Подсказка

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

Ссылки на сборку

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

© 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

Spec-Zone.ru

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