Using the Premium Message Queue Task Component
The Premium Message Queue Task component is used to send or receive messages to or from message queues. There are two pages to configure:
- General
- Error Handling
General Page
- Connection Manager
-
The task requires a connection manager. You can choose from the ones available below:
- ActiveMQ (since v21.2)
- Amazon SQS
- AMQP
- Azure Queue Storage (since v22.1)
- Azure Service Bus
- IBM MQ
- Kafka (since v22.1)
- MSMQ
- MQTT (since v23.3)
- RabbitMQ
- Actions
-
The available actions are the same for all connection managers, except for the Azure Queue Storage Manager, which is shown further down.
-
- Receive Message
-
Choose this mode for receiving messages from the queue.
- Send Message
-
Choose this mode to send messages to the queue.
- Azure Queue Storage Actions
-
These actions (except Send Message) are available only for the Azure Queue Storage Connection Manager.
-
- Send Message
-
Choose this mode to send messages to the queue.
- Receive Message with Visibility Timeout
-
The visibility timeout setting specifies the new visibility timeout value, in seconds.
- Peek Message
-
Messages will be received from the queue without deleting them or modifying the queue in any way.
- Clear Queue Message
-
Clear messages from the queue.
- Create Message
-
This option allows you to create a message to be sent to the queue.
- Delete Message
-
Messages will be deleted from the queue.
- Set Queue ACL
-
This option allows you to set the Access Control List for the queue.
- Read Queue ACL
-
This option allows you to read the Access Control List for the queue
- Set Queue Metadata
-
This option allows you to set queue metadata.
- Read Queue Metadata
-
This option allows you to read queue metadata.
- Receive mode options (Available for Receive Message only)
-
You can choose between the actions. There are two different modes for available for receiving messages:
- Peek: Messages will be received from the queue without deleting them or modifying the queue in any way.
- Receive and Delete: Messages will be retrieved and deleted from the queue.
- Exchange (Only available to RabbitMQ connection)
-
The name of the exchange to receive messages from.
- Queue
-
The name of the queue to receive messages from.
- Decode from Base64 (Only available to Azure Queue Storage connection)
-
The Decode from Base64 option can be used to decode messages from the Base64 format string.
- Encoding
-
Choose the encoding type from the list.
- Visibility Timeout (sec) (Only available to Azure Queue Storage connection)
-
Choose the visibility timeout in seconds.
- Output (Only available to Azure Queue Storage connection)
-
Choose the output label as file or variable:
- Variable - Choose from the available variables
- File - Choose using the file browser
- ACLs (Only available to Azure Queue Storage connection)
-
This option has the following fields to give permissions:
- ID - The ID for the ACL
- Permission - The permission to be set for the ACL
- Start - Start date for the permission
- Expiry - Expiry date for the permission
- ID - The ID for the ACL
- Metadata (Only available to Azure Queue Storage connection)
-
This option has the following fields to for metadata:
- Name - Name of the Queue Metadata
- Value - Value to be assigned for the Queue Metadata
- Name - Name of the Queue Metadata
- Message Label
-
Choose the message label as file or variable or none:
- None
- Variable - Choose from the available variables
- File - Choose using the file browser
- Message Body
-
Choose the message body as file or variable, or none:
- None
- Variable - Choose from the available variables
- File - Choose using the file browser
- Listener Mode (Only available under Receive Message mode)
-
There are three listener modes available:
- Fixed Time Mode: Allows the component to exit the listener mode after a specified period if no message is received in the queue.
- Wait Until Mode: Allows the component to exit the listener mode until a specified date and time if no message is received in the queue.
- Wait Until Variable Mode: Allows the component to exit the listener mode until a date and time specified in a variable if no message is received in the queue.
- Until Service is Stopped: Allows the component to listen till a message occurs.
- Expression fx Icon
-
Click the blue fx icon to launch SSIS Expression Editor to enable dynamic updates of the property at run time.
Advanced Page
The "Advanced" page is available for the Send Message mode, and in some cases, for both Send and Receive Message modes, depending on the chosen connection manager. Below, you will find the advanced properties available for the connection managers.
- ActiveMQ and AMQP Connection Managers
-
The "Advanced" page is available in the ActiveMQ and AMQP connection managers for both Send and Receive message modes.
- Advanced
-
- Is Durable
-
The durable mode can be set to True or False.
- True: When set to TRUE, the message will be retained persistently.
- False: When set to FALSE, the message would not be retained persistently.
- True: When set to TRUE, the message will be retained persistently.
- Priority (Only available under Send Message mode)
-
The priority of sent messages.
- Azure Queue Storage Connection Manager
-
The "Advanced" page is available for the Send Message mode only.
- Advanced
-
- Encode Message as Base64
- The Decode from Base64 option can be used to decode messages from the Base64 format string.
-
The Encode Message mode can be set to True or False.
- Message Time To Live
- The time that the message should be retained.
- Visibility Timeout
- The visibility timeout setting specifies the new visibility timeout value, in seconds.
- Azure Service Bus Connection Manager
-
The "Advanced" page is available for the Send Message mode only.
- Advanced
-
- Content Type
- Enables you to get or set the content type descriptor.
- Correlation ID
- Provides the ability to get or set the correlation identifier.
- Message Time To Live
- Allows you to specify or retrieve the message's "time to live" value.
- Partition Key
- Gives you the capability to set or obtain a partition key for sending a message to a partitioned entity.
- Reply To
- Lets you set or retrieve the address of an entity to which replies should be sent.
- Reply To Session ID
- Facilitates setting or obtaining a session identifier that augments the ReplyTo address.
- Scheduled Enqueue Time UTC
- Permits you to set or retrieve the date and time in UTC at which the message will be enqueued. This property returns the time in UTC; when setting the property, ensure that the supplied DateTime value is also in UTC.
- Session ID
- Provides the ability to set or retrieve the session identifier for a session-aware entity.
- To
- Allows you to set or retrieve the "to" address.
- Kafka Connection Manager
-
The "Advanced" page is available for the Send and Receive Message modes.
- Advanced
-
- Isolation Level (Only available under Receive Message mode)
- The Isolation Level mode can be set to Read Committed or Read Uncommitted.
-
- Read Committed: Use this option to retrieve all records, independently on the transaction outcome (if any).
- Read Uncommitted: Use this option to get only the records from committed transactions.
- Read Committed: Use this option to retrieve all records, independently on the transaction outcome (if any).
- Compression Task (Only available under Send Message mode)
- The Compression Task has the following options available:
-
- Default
- None
- Gzip
- Snappy
- Lz4
- Zstd
- Receive Message Timeout (Only available under Receive Message mode)
- This options allows you to set the receive message timeout value.
- Roll back Peeked Message (Only available under Receive Message mode)
- This options allows you to set it as True or False, to whether or not to roll back peeked message.
- Key Type (Only available under Send Message mode)
- This options allows you to set or reuse message keys.
- Partition (Only available under Send Message mode)
- Defines how the messages are partitioned when received.
-
- MQTT Connection Manager
-
The "Advanced" page is available for the Send Message mode only.
- Advanced
-
- Clean Session
- This option allows you to control the life cycle of the session state. Value of 1 means a brand new session will be created on connection and the session will be automatically destroyed when disconnected. Value of 1 means it will try and reuse the previous session when connecting.
- MSMQ Connection Manager
-
The "Advanced" page is available for the Send Message mode only.
- Advanced
-
- Connector Type
- This option allows you to specify the Connector Type.
- Priority
-
The priority can be set from lowest to highest.
- Wrap Messages in XML
-
The wrap messages in xml mode can be set to true or false.
- RabbitMQ Connection Manager
-
The "Advanced" page is available for the Send Message mode only.
- Advanced
-
- Delivery Mode
-
The delivery mode can be set to Persistent or Non-Persistent.
- Persistent: Messages are stored on disk on the server and will persist after a server restart.
- Non-Persistent: Messages are only stored in memory.
- Priority
- The priority of sent messages.
- Publisher Confirms
- This could be set to True or False.
Error Handling Page
This page can be used to handle errors.
You can choose among the three options below:
- Fail on error
- Write on error
- Ignore error