AzureEventBus Class
Definition
- Namespace
- Savvyio.Extensions.QueueStorage.EventDriven
- Assemblies
- Savvyio.Extensions.QueueStorage.dll
Provides a combined Azure Event Grid/Azure Storage Queue implementation of the IPublishSubscribeChannel<TRequest>.
public class AzureEventBus : AzureQueue<IIntegrationEvent>, IPublishSubscribeChannel<IIntegrationEvent>, IPublisher<IIntegrationEvent>, ISubscriber<IIntegrationEvent>, IHealthCheckProvider<Uri>
- Inheritance
-
objectAzureEventBus
- Implements
- Derived
- Inherited Members
Examples
AzureEventBus publishes and receives integration events through Azure Queue Storage. Configure it with AzureQueueOptions and an IMarshaller instance, then use it as IPublishSubscribeChannel<IIntegrationEvent>.
using Savvyio.EventDriven;
using Savvyio.Extensions.QueueStorage;
using Savvyio.Extensions.QueueStorage.EventDriven;
using Savvyio.Messaging;
namespace ExampleApp;
public class AzureEventBusConfig
{
public static AzureQueueOptions CreateOptions()
{
return new AzureQueueOptions
{
ConnectionString = "UseDevelopmentStorage=true",
QueueName = "account-integration-events"
};
}
public static IPublishSubscribeChannel<IIntegrationEvent> AsChannel(AzureEventBus bus) => bus;
}
Constructors
| Name | Description |
|---|---|
| AzureEventBus(IMarshaller, AzureQueueOptions, AzureEventBusOptions) | Initializes a new instance of the AzureEventBus class. |
| AzureEventBus(IMarshaller, AzureQueueOptions, AzureEventBusOptions, QueueServiceClient, QueueClient, EventGridPublisherClient) | Initializes a new instance of the AzureEventBus class with testable Azure clients. |
Fields
| Name | Description |
|---|---|
| CloudEventTypeExtensionAttribute | The attribute name for the CloudEvent type extension. |
Methods
| Name | Description |
|---|---|
| GetHealthCheckTarget() | Gets the Uri representing the health check endpoint for the configured Azure Event Grid topic. |
| PublishAsync(IMessage<IIntegrationEvent>, Action<AsyncOptions>) | Publishes the specified |
| SubscribeAsync(Func<IMessage<IIntegrationEvent>, CancellationToken, Task>, Action<SubscribeAsyncOptions>) | Subscribe to one or more message(s) asynchronous using Publish-Subscribe Channel/Pub-Sub MEP. |