Skip to main content

AMQP Component

Send and receive messages on an AMQP-based message broker

Component key: amqp

Description#

The 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 Connection#

InputDefaultNotes
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 Message#

Acknowledge a previously fetched message | key: acknowledgeMessage

InputNotes
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 Connection#

Verify that an AMQP server is available, and return the server's connection information. This is helpful for debugging purposes. | key: checkConnection

InputNotes
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 Message#

Receives a message from an AMQP-based queue | key: getMessage

InputDefaultNotesExample
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":

  1. You can set the Acknowledge Message input to true. This will cause the message to be acknowledged immediately, and the message will be removed from the queue.
  2. 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 Message#

Add a message to an AMQP-based queue | key: publishMessage

InputNotesExample
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 Message#

Rejects one message from an AMQP-based queue | key: rejectMessage

InputNotesExample
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"  }}