Spec-Zone.ru › Ansible 2.10

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

Spec-Zone.ru

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