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 |
| Протокол для использования. |
| 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