AMQP Component

Send and receive messages on an AMQP-based message broker
Component key: amqp#
DescriptionThe Advanced Message Queuing Protocol (AMQP) is a standard protocol for interacting with message brokers and queueing platforms. It is used by many common message broker services like Azure Event Hubs, Apache Qpid, RabbitMQ and more.
This component allows you to manage messages on an AMQP-based queue.
#
AMQP Connections#
AMQP ConnectionInput | Default | Notes |
---|---|---|
Input Host string / Required host | Default 192.168.0.1 | Notes The IP address or endpoint of the AMQP server |
Input Password string password | Default | Notes This can be omitted if the AMQP server allows anonymous authentication |
Input Port string / Required port | Default 5672 | Notes The port of the AMQP server |
Input Protocol string / Required protocol | Default amqp | Notes Provide the desired protocol in which you want to interact with the queue. |
Input Username string username | Default | Notes This can be omitted if the AMQP server allows anonymous authentication |
Input Vhost string vhost | Default | Notes The "example/vhost" portion of amqps://amqp.example.com:5672/example/vhost |
#
Actions#
Acknowledge MessageAcknowledge a previously fetched message | key: acknowledgeMessage
Input | Notes |
---|---|
Input Connection connection / Required amqpConnection | Notes |
Input Message string / Required message | Notes An AMQP message. This must reference the results of a previous 'Get Message' step |
#
Check AMQP ConnectionVerify that an AMQP server is available, and return the server's connection information. This is helpful for debugging purposes. | key: checkConnection
Input | Notes |
---|---|
Input Connection connection / Required amqpConnection | Notes |
#
Output Example Payload{ "data": { "host": "amqp.example.com", "copyright": "Copyright (c) 2007-2022 VMware, Inc. or its affiliates.", "information": "Licensed under the MPL 2.0. Website: https://rabbitmq.com", "platform": "Erlang/OTP 24.2.1", "product": "RabbitMQ", "version": "3.9.13", "connection": { "host": "amqp.example.com", "port": "5672", "vhost": "example/vhost", "password": "myPassword", "protocol": "amqp", "username": "myUsername" } }}
#
Get MessageReceives a message from an AMQP-based queue | key: getMessage
Input | Default | Notes | Example |
---|---|---|---|
Input Acknowledge Message boolean acknowledgeMessage | Default true | Notes Automatically mark the message received as "Acknowledged" | Example |
Input Connection connection / Required amqpConnection | Default | Notes | Example |
Input Queue Name string / Required queueName | Default | Notes Provide the name of the queue you would like to interact with. | Example myQueue |
This action will return a message from a given queue, if a message is available to get.
If no message is available, this action will return null
.
Use a Branch on Expression step to branch based on whether or not a message was fetched. You can check if the results of this step are non-null using the exists operator.
You have two options for marking a message "acknowledged":
- You can set the
Acknowledge Message
input totrue
. This will cause the message to be acknowledged immediately, and the message will be removed from the queue. - You can choose to not acknowledge the message immediately, but instead process the message and then pass the message to a Acknowledge Message step instead. This option is helpful if you would like to ensure the message is processed completely before removing it from the queue.
#
Output Example Payload{ "data": { "fields": { "deliveryTag": 1, "redelivered": true, "routingKey": "classic", "messageCount": 10 }, "properties": { "contentType": "text", "contentEncoding": "", "deliveryMode": "exampleMode", "priority": "High", "correlationId": "exampleId", "replyTo": "", "expiration": "", "messageId": "exampleId", "timestamp": "Fri, 06 Aug 2021 00:00:00 GMT", "type": "Buffer", "userId": "exampleId", "appId": "exampleId", "clusterId": "exampleId" }, "content": { "type": "Buffer", "data": [ 69, 120, 97, 109, 112, 108, 101 ] }, "message": "Example Message Content" }}
#
Publish MessageAdd a message to an AMQP-based queue | key: publishMessage
Input | Notes | Example |
---|---|---|
Input Connection connection / Required amqpConnection | Notes | Example |
Input Message string / Required message | Notes Provide a message to push on to the queue. | Example Message to Queue |
Input Queue Name string / Required queueName | Notes Provide the name of the queue you would like to interact with. | Example myQueue |
#
Output Example Payload{ "data": true}
#
Reject MessageRejects one message from an AMQP-based queue | key: rejectMessage
Input | Notes | Example |
---|---|---|
Input Connection connection / Required amqpConnection | Notes | Example |
Input Queue Name string / Required queueName | Notes Provide the name of the queue you would like to interact with. | Example myQueue |
#
Output Example Payload{ "data": { "consumerTag": "amq.ctag-ExampleTag" }}