Azure Service Bus icon

Azure Service Bus

Send and receive messages from Azure Service Bus

Actions3

Overview

This node enables sending and receiving messages with Azure Service Bus, a cloud messaging service for connecting applications, services, and devices. It supports two protocols:

  • Azure SDK (Recommended): Uses the official Azure Service Bus SDK, providing full feature support including sending and receiving messages.
  • HTTP REST API: Uses Azure Service Bus REST API, suitable for environments with firewall restrictions where SDK WebSocket connections might be blocked.

Typical use cases include:

  • Sending event notifications or commands to queues or topics in Azure Service Bus.
  • Receiving and processing messages from queues.
  • Integrating Azure Service Bus messaging into automation workflows without writing custom code.

Example scenarios:

  • An e-commerce system sends order details as messages to a queue for downstream processing.
  • A monitoring system receives alerts from a queue and triggers incident management workflows.
  • Publishing messages to a topic to notify multiple subscribers about system status changes.

Properties

Name Meaning
Protocol Protocol to use for Azure Service Bus connection:
- Azure SDK (Recommended)
- HTTP REST API

Output

The node outputs an array of JSON objects representing the results of the operation:

  • For send message operations (queue or topic), each output item includes:

    • success: Boolean indicating if the message was sent successfully.
    • messageId: The unique identifier of the sent message (if provided).
    • queueName or topicName: The name of the queue or topic the message was sent to.
    • sentAt: ISO timestamp when the message was sent.
  • For receive messages operation (queues only, SDK protocol):
    Each output item corresponds to a received message and contains:

    • messageId: Unique identifier of the message.
    • body: The content/body of the message.
    • contentType: Content type of the message.
    • enqueuedTimeUtc: Timestamp when the message was enqueued.
    • applicationProperties: Custom properties attached to the message.
    • deliveryCount: Number of times the message has been delivered.
    • sequenceNumber: Sequence number of the message as a string.

The node does not output binary data.

Dependencies

  • Requires an Azure Service Bus connection string credential with appropriate permissions.
  • If using the Azure SDK protocol, requires the official @azure/service-bus package and optionally ws package for WebSocket transport.
  • If using the HTTP REST API protocol, uses node-fetch for HTTP requests and Node.js built-in crypto module to generate SAS tokens.
  • The node automatically handles connection setup and teardown.

Troubleshooting

  • Missing or invalid connection string:

    • Error: "Azure Service Bus connection string is required" or "Connection string contains blank values."
    • Solution: Ensure the connection string credential is correctly configured and complete.
  • Empty message body on send:

    • Error: "Message Body cannot be empty."
    • Solution: Provide a non-empty message body when sending messages.
  • Unsupported operation with selected protocol:

    • Receive messages and topic operations require the Azure SDK protocol.
    • Using HTTP REST API protocol for these will cause errors.
    • Solution: Switch to the Azure SDK protocol for these operations.
  • WebSocket transport fallback:

    • If WebSocket transport is unavailable, the node falls back to default transport but logs a warning.
    • No action needed unless connectivity issues occur.
  • HTTP errors during REST API calls:

    • The node logs HTTP status and error response.
    • Check network/firewall settings and credentials.

Links and References

Discussion