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 |
| Установить очередь как устойчивую (durable). |
| exchange string | Биржа (exchange), на которую публикуется сообщение. | |
| exclusive boolean |
| Установить очередь как эксклюзивную. |
| headers dictionary | По умолчанию: {} | Словарь заголовков для публикации с сообщением. |
| host string | Имя хоста или IP-адрес сервера RabbitMQ. | |
| keyfile string | Ключ клиента для установления SSL-соединения. Если этот параметр указан, также необходимо указать cafile и certfile. | |
| password string | Пароль RabbitMQ. | |
| port integer | Порт сервера RabbitMQ. | |
| proto string |
| Протокол для использования. |
| queue string | Очередь для публикации сообщения. Если очередь не указана, RabbitMQ вернёт случайное имя очереди. | |
| routing_key string | Ключ маршрутизации. | |
| src path | Файл для загрузки в очередь. Автоматическое определение типа MIME, если content_type не определён (оставлено по умолчанию). Значение src нельзя указать, если задано body. Имя файла добавляется в заголовки опубликованного сообщения в RabbitMQ. Ключ - filename, значение - имя файла.алиасы: файл | |
| 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/rabbitmq/rabbitmq_publish_module.html