Spec-Zone.ru › Ansible 2.11

community.rabbitmq.rabbitmq_publish – Опубликовать сообщение в очередь RabbitMQ.

Примечание

Этот плагин входит в коллекцию community.rabbitmq (версия 1.0.1).

Для его установки используйте: ansible-galaxy collection install community.rabbitmq.

Чтобы использовать его в плейбуке, укажите: community.rabbitmq.rabbitmq_publish.

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Опубликовать сообщение в очередь RabbitMQ с использованием блокирующего соединения.

Требования

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

  • pika

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
auto_delete
boolean
    Варианты:
  • нет ←
  • да
Установить очередь для автоматического удаления.
body
string
Тело сообщения.
Значение body нельзя указать, если указано src.
cafile
string
Файл CA, используемый при подключении к серверу RabbitMQ через SSL.
Если этот параметр указан, также необходимо указать certfile и keyfile.
certfile
string
Сертификат клиента для установления SSL-соединения.
Если этот параметр указан, также необходимо указать cafile и keyfile.
content_type
string
По умолчанию:
"text/plain"
Тип содержимого тела.
durable
boolean
    Варианты:
  • нет ←
  • да
Установить очередь как долговременную.
exchange
string
Обмен, в который публикуется сообщение.
exclusive
boolean
    Варианты:
  • нет ←
  • да
Установить очередь как эксклюзивную.
headers
dictionary
По умолчанию:
{}
Словарь заголовков для отправки с сообщением.
host
string
Имя хоста или IP-адрес сервера RabbitMQ.
keyfile
string
Ключ клиента для установления SSL-соединения.
Если этот параметр указан, также необходимо указать cafile и certfile.
password
string
Пароль RabbitMQ.
port
integer
Порт сервера RabbitMQ.
proto
string
    Варианты:
  • amqps
  • amqp
Протокол для использования.
queue
string
Очередь для публикации сообщения. Если очередь не указана, RabbitMQ вернёт случайное имя очереди.
routing_key
string
Ключ маршрутизации.
src
path
Файл для загрузки в очередь. Если content_type не определён (оставлен по умолчанию), используется автоматическое определение типа MIME.
Значение src нельзя указать, если указано body.
Имя файла добавляется в заголовки отправленного сообщения в RabbitMQ. Ключ — filename, значение — имя файла.

алиасы: file
url
string
Строка подключения URL для соединения с сервером RabbitMQ.
url и host/port/user/pass/vhost взаимоисключают друг друга. Используйте либо то, либо другое, но не оба.
username
string
Имя пользователя RabbitMQ.
vhost
string
Виртуальный хост для обработки запроса.
Если требуется виртуальный хост по умолчанию, используйте '%2F'.

Примечания

Примечание

  • Для работы с этим модулем требуется библиотека pika для Python https://pika.readthedocs.io/.
  • Pika — это чисто Python-реализация протокола AMQP 0-9-1, которая пытается максимально сохранять независимость от базовой библиотеки поддержки сети.
  • Этот модуль протестирован с RabbitMQ. Возможно, серверы, основанные на протоколе AMQP 0.9.1, тоже будут работать, но это не гарантируется.
  • Авторизация сертификатов тестировалась с сертификатами, созданными с помощью https://www.rabbitmq.com/ssl.html#automated-certificate-generation и переменных конфигурации RabbitMQ ssl_options.verify = verify_peer и ssl_options.fail_if_no_peer_cert = true.

Примеры

- name: Publish a message to a queue with headers
  community.rabbitmq.rabbitmq_publish:
    url: "amqp://guest:guest@192.168.0.32:5672/%2F"
    queue: 'test'
    body: "Hello world from ansible module rabbitmq_publish"
    content_type: "text/plain"
    headers:
      myHeader: myHeaderValue


- name: Publish a file to a queue
  community.rabbitmq.rabbitmq_publish:
    url: "amqp://guest:guest@192.168.0.32:5672/%2F"
    queue: 'images'
    file: 'path/to/logo.gif'

- name: RabbitMQ auto generated queue
  community.rabbitmq.rabbitmq_publish:
    url: "amqp://guest:guest@192.168.0.32:5672/%2F"
    body: "Hello world random queue from ansible module rabbitmq_publish"
    content_type: "text/plain"

- name: Publish with certs
  community.rabbitmq.rabbitmq_publish:
    url: "amqps://guest:guest@192.168.0.32:5671/%2F"
    body: "Hello test queue from ansible module rabbitmq_publish via SSL certs"
    queue: 'test'
    content_type: "text/plain"
    cafile: 'ca_certificate.pem'
    certfile: 'client_certificate.pem'
    keyfile: 'client_key.pem'

Возвращаемые значения

Общие возвращаемые значения описаны в здесь, следующие поля уникальны для этого модуля:

Ключ Возвращаемое значение Описание
result
dictionary
success
Содержит статус msg, тип содержимого content_type и имя очереди queue.

Пример:
'result': { 'content_type': 'text/plain', 'msg': 'Успешно опубликовано в очередь test', 'queue': 'test' }


Авторы

  • John Imison (@Im0)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/rabbitmq/rabbitmq_publish_module.html

Spec-Zone.ru

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