rabbitmq_publish – Publish a message to a RabbitMQ queue
rabbitmq_publish – Publish a message to a RabbitMQ queue
New in version 2.8.
Synopsis
- Publish a message on a RabbitMQ queue using a blocking connection.
Requirements
The below requirements are needed on the host that executes this module.
- pika
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
auto_delete boolean |
|
Set the queue to auto delete. |
body - |
The body of the message. A | |
content_type - |
Default: "text/plain" |
The content type of the body. |
durable boolean |
|
Set the queue to be durable. |
exchange - |
The exchange to publish a message to. | |
exclusive boolean |
|
Set the queue to be exclusive. |
headers dictionary |
Default: {} |
A dictionary of headers to post with the message. |
host - |
The RabbitMQ server hostname or IP. | |
password - |
The RabbitMQ password. | |
port - |
The RabbitMQ server port. | |
proto - |
|
The protocol to use. |
queue - |
The queue to publish a message to. If no queue is specified, RabbitMQ will return a random queue name. | |
routing_key - |
The routing key. | |
src - |
A file to upload to the queue. Automatic mime type detection is attempted if content_type is not defined (left as default). A The filename is added to the headers of the posted message to RabbitMQ. Key being the
| |
url - |
An URL connection string to connect to the RabbitMQ server. url and host/port/user/pass/vhost are mutually exclusive, use either or but not both. | |
username - |
The RabbitMQ username. | |
vhost - |
The virtual host to target. If default vhost is required, use |
Notes
Note
- This module requires the pika python library https://pika.readthedocs.io/.
- Pika is a pure-Python implementation of the AMQP 0-9-1 protocol that tries to stay fairly independent of the underlying network support library.
- This plugin is tested against RabbitMQ. Other AMQP 0.9.1 protocol based servers may work but not tested/guaranteed.
Examples
- name: Publish a message to a queue with headers
rabbitmq_publish:
url: "amqp://guest:[email protected]: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
rabbitmq_publish:
url: "amqp://guest:[email protected]:5672/%2F"
queue: 'images'
file: 'path/to/logo.gif'
- name: RabbitMQ auto generated queue
rabbitmq_publish:
url: "amqp://guest:[email protected]:5672/%2F"
body: "Hello world random queue from ansible module rabbitmq_publish"
content_type: "text/plain"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
result dictionary |
success |
Contains the status msg, content type content_type and the queue name queue.
Sample: 'result': { 'content_type': 'text/plain', 'msg': 'Successfully published to queue test', 'queue': 'test' } |
Status
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors
- 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.8/modules/rabbitmq_publish_module.html