Using the Azure Service Bus Source Component

The Azure Service Bus Source Component is an SSIS data flow pipeline component that can be used to read/receive data from Azure Service Bus. The component includes the following three pages of configuration:

  • General
  • Columns
  • Advanced

General Page

The General page allows you to configure various options that will help you receive the desired data from Azure Service Bus.

SSIS Azure Service Buse Source

Connection Manager

The source component requires an active connection to access Azure Service Bus. The Connection Manager drop-down will show a list of all Azure Service Bus Connection Managers that have been created in the current SSIS package.

Entity Type

When an active connection has been established there are two types of entities available to connect to: Queues and Topics.

Queue

If the Entity Type property is set to Queue a list of available queues will be presented and one can be selected. Messages will be retrieved from this queue.

Session ID

If the queue that has been selected requires sessions the session ID field will become visible. A comma-separated list of session IDs to process can be entered in the text box, or the Process All Messages checkbox can be checked, which will process messages from all sessions. The session IDs button will display a list of the sessions of messages that currently exist in the queue.

Topic

If the Entity Type property is set to Topic a topic may be selected from the list of available topics. After selecting a topic a list of subscriptions to this topic will be displayed.

Subscription

When a topic has been selected a list of available subscriptions will be presented and one can be selected. Messages will be received from this subscription.

Batch Size

This is the number of messages to receive at a time from Azure Service Bus.

Receive Mode

There are two different modes available for receiving messages:

  • Peek: If the Peek option is selected messages will be received from the queue without deleting them or modifying the queue in any way.
  • Receive Messages and Delete: If the Receive Messages and Delete option is selected messages will be retrieved and deleted from the queue. It is only possible to select a listener mode if the receive mode is Receive and Delete.
Message Column Type (since v6.2)

The Message Column Type allows you to specify whether you want to read the binary content of the message or the text content of the message from Azure Service Bus. There are two different modes available for Message column types: Binary and Text. The default setting is Text.

Encoding (since v6.2)

The encoding to use to decode the body of received text messages. This option is only available when the Message Column Type is Text.

Listener Mode

After the Azure Service Bus component has retrieved all available messages from the queue or topic it can continue to listen for more messages for a period of time.

There are three listener modes available:

  • Fixed Time Mode: allows the component to listen for messages for a specified period of time.
  • Wait Until Mode: allows the component to listen for messages until a specified date and time.
  • Wait Until Variable: allows the component to listen for messages until a date and time specified in a variable.

Listener modes other than None are only compatible with the Receive and Delete receive modes.

When new messages are detected in listener mode they may not enter the SSIS pipeline immediately; this depends on the buffer settings of the SSIS task. Internally any row that is directed to an output goes to an SSIS buffer, and SSIS will not actually direct the rows in that buffer until the buffer is considered full, or the component has finished processing all of its data. While in listener mode the component is considered to be processing data until the listener time has expired, which is when the full buffer is guaranteed to be completely processed. To direct rows as fast as possible in listener mode consider lowering the DefaultBufferMaxRows property and DefaultBufferSize properties of the task to the lowest possible values.

Refresh Component Button

Clicking the Refresh Component button causes the component to retrieve the latest metadata and update each field to its most recent metadata. It will remove any custom fields that have been added to the columns page.

Expression fx Icon

Click the blue fx icon to launch SSIS Expression Editor to enable dynamic updates of the property at run time.

Generate Documentation Icon

Click the Generate Documentation icon to generate a Word document that describes the component's metadata including relevant mapping, and so on.

Columns Page

The Columns page shows you all available attributes of messages that will be retrieved. You may indicate which attributes to include in your source component by checking or unchecking the checkbox next to each attribute.

SSIS Azure Service Buse Source - columns

Add Button

Clicking the Add button will bring up a dialog that will allow custom fields to be added. Custom fields can be used for values of any custom properties on the retrieved messages.

Advanced Page

The Advanced page of the Azure Service Bus Source Component allows you to work with additional settings in order to configure how you would like to retrieve messages.

SSIS Azure Service Buse Source - columns

Retrieve All Messages

This option can be enabled to retrieve all the messages from the specified queue.

Maximum Number of Messages to Retrieve

This option will be available when the “Retrieve all messages” option is disabled, and it allows you to specify the maximum number of messages to be retrieved.

Peek Then Delete (Guarantee accurate batch size)

This option will be available when the “Receive and Delete” Receive mode is selected. When this option is enabled, it will guarantee an accurate retrieval of messages based on the defined batch size.