Amazon SNS/SQS based Service Bus

This is a service bus that is based on the Amazon AWS Simple Notification Service (SNS) and Simple Queue Service (SQS). A topic will be created on SNS, while each Redakt instance will create a SQS queue that will receive broadcast messages from the SNS topic.

Installation

Install the Amazon AWS package with the NuGet package manager or the Package Manager Console.

PM> Install-Package Redakt.Data.Aws

Register Amazon SNS/SQS services in the ConfigureServices method in your project's Startup.cs file.

public void ConfigureServices(IServiceCollection services)
{
    // ... framework and other services here

    services.AddRedakt(this.Configuration, builder =>
    {
        builder.AddAwsServiceBus();
        // ... other Redakt services
    });
}

Configuration

The Amazon SNS/SQS service bus is configured through the appsettings.json file. Any configuration that is not included in the appsettings.json file will be set to its following default values.

{
    "Redakt": {
        "ServiceBus": {
            "AwsServiceBus": {
                "AwsAccessKeyId": "",
                "AwsSecretAccessKey": "",
                "AwsRegion": "",
                "TopicName": "Redakt",
                "UseFifoQueue": false
            }
        }
    }
}

Access Key Id & Secret Access Key

Required. These settings are found in the AWS Console, and are used to connect to your SNS/SQS service. See here how to manage and retrieve access keys for IAM users.

The Amazon S3 file store and Amazon DynamoDB data store modules also require AWS access keys to be set. You can use the same or different access keys, depending on your needs.

Region

Required. Sets the region name for the datacenter that your Amazon SNS/SQS is hosted in. This must be one of the available Amazon region codes, e.g. eu-west-1.

Topic Name

Sets the name of the SNS topic that the service bus will broadcast and read messages from.

Use FIFO Queue