Azure Service Bus icon

Azure Service Bus

Send and receive messages from Azure Service Bus

Actions3

Overview

This node enables receiving messages from an Azure Service Bus queue using the official Azure SDK protocol. It is designed to fetch multiple messages in a single execution, supporting configurable options such as maximum message count, wait time, and receive mode.

Common scenarios where this node is beneficial include:

  • Processing incoming messages from a queue for asynchronous workflows.
  • Integrating Azure Service Bus messaging into automation pipelines.
  • Building event-driven architectures that react to queued messages.

For example, you can use this node to poll a queue named "orders" to retrieve up to 10 new order messages, waiting up to 60 seconds if no messages are immediately available, and process them within your workflow.

Properties

Name Meaning
Protocol Protocol to use for Azure Service Bus connection:
- Azure SDK (Recommended)
- HTTP REST API (firewall-friendly)
Queue Name The name of the Azure Service Bus queue from which to receive messages.
Max Message Count Maximum number of messages to receive in one execution (e.g., 10).
Max Wait Time (seconds) Maximum time in seconds to wait for messages before returning (e.g., 60).
Receive Mode How messages are received:
- Peek Lock: Messages are locked and must be explicitly completed or abandoned.
- Receive and Delete: Messages are automatically deleted after receiving.

Output

The output is an array of JSON objects, each representing a received message with the following structure:

{
  "messageId": "string",               // Unique identifier of the message
  "body": "any",                      // The content/body of the message
  "contentType": "string",            // Content type of the message (e.g., application/json)
  "enqueuedTimeUtc": "string",        // Timestamp when the message was enqueued (UTC)
  "applicationProperties": {          // Custom properties attached to the message
    "key1": "value1",
    "key2": "value2"
  },
  "deliveryCount": "number",          // Number of times the message has been delivered
  "sequenceNumber": "string"          // Sequence number of the message as a string
}

No binary data output is produced by this operation.

Dependencies

  • Requires an Azure Service Bus connection string credential with appropriate permissions.
  • Uses the official @azure/service-bus SDK for communication.
  • WebSocket support is attempted for transport; falls back to default transport if unavailable.
  • The HTTP REST API protocol is not supported for receiving messages; only the SDK protocol supports it.

Troubleshooting

  • Missing or invalid connection string: The node requires a valid Azure Service Bus connection string. If missing or containing placeholder values, the node will throw an error. Ensure the connection string is correctly entered without blank placeholders.
  • Protocol mismatch: Receiving messages is only supported when using the Azure SDK protocol. Selecting the HTTP REST API protocol for receiving messages will cause an error.
  • Empty queue or timeout: If no messages are available within the specified max wait time, the node returns an empty array.
  • Message body empty on send: Although not applicable here, sending messages requires a non-empty body; receiving does not have this restriction.
  • WebSocket errors: If WebSocket transport fails, the node falls back to default transport but logs warnings. This usually does not affect functionality.

Links and References

Discussion