The SSIS components set forth are all built to allow for straight-forward interaction with Azure Service Bus Topics and Queues. There are four components included in the initial project (more to come later) including a custom connection manager, for each enumerator and two control flow tasks that allow you to send, receive and acknowledge messages in the form of a handshake.

I’ll apologize in advance for the cheesy and irrelevant icons but I was less worried about how the components looks on the design surface and more interested in how they work at runtime. So without further ado, a summary of each component…..

Azure Service Bus Connection Manager

The connection manager supports connections to Azure Service Bus Queues, Topics and Subscriptions. The AcquireConnection method returns the base class MessageClientEntity for the configured type. To simplify my life, I made the decision to require each task to ensure that the connection is appropriate rather than implement different connection managers.

Brokered Message ForEach Enumerator

This custom foreach enumerator allows brokered messages to be read off the queue or subscription using the SSIS For Each container. The enumerator returns the brokered message object which can be piped into an object variable using the variable mappings.

Brokered Message Handshake Task

The handshake task when mapped to a variable containing a Brokered Message object, can be configured to call the complete or abandon method thereby either finishing the conversation or abandoning the message so it can be processed again at a later time. This handshake task is an essential part to processing brokered messages within the control flow.

Send Brokered Message Task

The last task is capable of sending a brokered message to a queue or topic depending on the configuration of the connection manager. The brokered message data is either sourced from a SSIS variable or is a directly input string.

Last edited Oct 1, 2014 at 1:34 PM by cprice79, version 2