Overview
This node integrates with Azure Service Bus to send and receive messages from queues or topics. It is useful for workflows that need reliable messaging between distributed systems, such as event-driven architectures, decoupling microservices, or integrating legacy systems.
- Send operation: Sends a JSON message to a specified queue or topic.
- Receive operation: Retrieves messages from a queue or subscription of a topic, with options to control how many messages to receive, wait time, and post-processing actions (complete, abandon, dead-letter).
Practical examples:
- Sending order details to a processing queue.
- Receiving notifications from a topic subscription and processing them in a workflow.
- Peeking at messages without removing them from the queue for monitoring purposes.
Properties
| Name | Meaning |
|---|---|
| Connection String | Connection string used to authenticate with Azure Service Bus. |
| Queue or Topic Name | The name of the queue or topic in Azure Service Bus where messages are sent or received. |
| Subscription Name (Se for Tópico) | Name of the subscription if using a topic; leave empty if using a queue. |
| Operation | Choose between "Send" (send messages) or "Receive" (receive messages). |
| Message Body (JSON) | JSON content of the message to be sent (only shown when Operation is "Send"). |
| Maximum Number of Messages | Maximum number of messages to receive in one request (only shown when Operation is "Receive"). |
| Max Wait Time (Ms) | Maximum time in milliseconds to wait for messages before ending the receive request (only for "Receive"). |
| Post Processing Action | What to do with messages after receiving: "Complete" (remove), "Abandon" (return to queue), or "Dead-Letter" (move to dead-letter queue). Only for "Receive". |
| Receive Mode | Whether to actually remove messages ("Receive And Complete") or just peek at them ("Peek (Preview Only)"). Only for "Receive". |
Output
The node outputs an array with one item containing a json object:
- For Send operation:
{ "success": true, "operation": "send", "queueOrTopic": "<name>", "subscriptionName": "<subscriptionName or empty>", "messageSent": <the JSON message body sent> } - For Receive operation:
{ "success": true, "operation": "receive", "queueOrTopic": "<name>", "subscriptionName": "<subscriptionName or empty>", "messagesReceived": [<array of message bodies>] }
If binary data were involved, it would be summarized here, but this node only handles JSON message bodies.
Dependencies
- Requires an active Azure Service Bus namespace with appropriate queues or topics configured.
- Needs a valid Azure Service Bus connection string for authentication.
- Uses the official Azure SDK package for Service Bus (
@azure/service-bus). - No additional environment variables beyond the connection string input property.
Troubleshooting
Common issues:
- Invalid or expired connection string will cause authentication failures.
- Incorrect queue/topic or subscription names will result in errors or no messages found.
- Using "Receive" with "Peek" mode does not remove messages; users might expect messages to be consumed.
- Post-processing action must be chosen carefully to avoid message loss or duplication.
Error messages:
- Errors during execution include the operation name and the original error message, e.g.,
Erro ao executar a operação 'send': <error message>. - To resolve, verify connection string validity, queue/topic/subscription names, and network connectivity.
- Errors during execution include the operation name and the original error message, e.g.,