Azure Service Bus - robinrodricks/FluentStorage GitHub Wiki
In order to use Microsoft Azure Service Bus you need to reference
first. The provider wraps around the new Microsoft Service Bus SDK package (
Azure.Messaging.ServiceBus
).
This provider supports both topics and queues, for publishing and receiving.
This new package introduces the following methods for the IMessageReceiver
interface:
- AzureServiceBusTopicReceiver() - Creates Azure Service Bus Receiver for topic and subscriptions
- AzureServiceBusQueueReceiver() - Creates Azure Service Bus Receiver for queues
Where ServiceBusClientOptions
and ServiceBusProcessorOptions
are optional parameters to fine-tune the options for the ServiceBusClient
and ServiceBusProcessor
:
The interface used to send messages is IMessenger
but is a bit limited because it doesn't have the notions of queues, topics and subscriptions.
So, if you want to use the IMessenger
interface, when passing a channel you have to use this format:
-
q/queue name
for working with queues -
t/topic name
for working with topics -
t/topic name/subscription name
for working with subscriptions (as subscriptions are embedded inside topics)
All the public methods of IMessenger
that take a channel (or channel collections) in input need to follow this naming convention.
The new interface IAzureServiceBusMessenger
extends IMessenger
. So, if you cast your AzureServiceBusMessenger
messenger to IAzureServiceBusMessenger
you have access to these utility methods that target directly queues, messages, and subscriptions:
- SendToQueueAsync() - Sends a collection of messages to the specified queue asynchronously.
- SendToQueueAsync() - Sends a message to the specified queue asynchronously.
- SendToTopicAsync() - Sends a collection of messages to the specified topic asynchronously.
- SendToTopicAsync() - Sends a single message to the specified topic asynchronously.
- SendToSubscriptionAsync() - Sends a collection of messages to the specified topic subscription asynchronously.
- SendToSubscriptionAsync() - Sends a single message to the specified topic subscription asynchronously.
- CreateQueueAsync() - Create a new Queue in Azure ServiceBus
- CreateTopicAsync() - Create a new Topic in Azure ServiceBus
- CreateSubScriptionAsync() - Create a new Subscription in Azure ServiceBus
- DeleteQueueAsync() - Deletes the specified queue asynchronously.
- DeleteSubScriptionAsyn() - Deletes the specified topic subscription asynchronously.
- DeleteTopicAsync() - Deletes the specified topic asynchronously.
- CountQueueAsync() - Counts the number of messages in the specified queue asynchronously.
- CountSubScriptionAsync() - Counts the number of messages in the specified topic subscription asynchronously.
- CountTopicAsync() - Counts the number of messages in the specified topic asynchronously