Amazon Dynamo DB is a fast and flexible NoSQL database service. Redakt offers Dynamo DB integration through a NuGet package.

Note: Dynamo DB is Mongo DB-compatible, therefore you can use the Mongo DB database module with a Dynamo DB instance as well.

Installation

The Dynamo DB database module is part of the Amazon AWS provider package. Install the package with the NuGet package manager or the Package Manager Console.

PM> Install-Package Redakt.Providers.Amazon

Service registration

Register Dynamo DB services in the ConfigureServices() method of your project's Startup.cs file by adding an AddDynamoDbDataStore() call to the Redakt builder instance. The order in which services are added to the Redakt builder is not important.

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

    var builder = services.AddRedakt();
    builder.AddDynamoDbDataStore();  // Optionally pass Action<DynamoDbOptions> parameter.
    // ... other Redakt services
}

Configuration settings

The Dynamo DB database module is configured through the appsettings.json file. See the example below for default values.

{
    "Redakt": {
        "DataStore": {
            "AwsDynamoDB": {
                "AwsAccessKeyId": "<your aws access key id>",
                "AwsSecretAccessKey": "<your aws secret access key>",
                "AwsRegion": "<your aws region>",
                "TableName": "Redakt"
            }
        }
    }
}

Additionally, an Action<DynamoDbOptions> configuration delegate may be passed to the AddDynamoDbDataStore() call. Configuration set through this delegate takes priority and overrides values in the appsettings.json file.

Access Key Id & Secret Access Key

Required. These settings are found in the AWS Console and are used to connect to your Dynamo DB instance. Read here how to manage and retrieve access keys for IAM users.

The Amazon S3 file storage and Amazon SNS/SQS service bus 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 data center that your Dynamo DB database is hosted in. This must be one of the available Amazon region codes, f.e. eu-west-1.

Table Name

Required. Sets the Dynamo DB table name. Defaults to "Redakt" if not specified.