Azure Blob Storage is scalable object storage for unstructured data. Redakt can store its media files in Azure Blob Storage. Redakt offers Azure Blog Storage integration through an optional NuGet package.

Installation

The Azure Blob Storage file store is part of the Azure provider package. Install the package with the NuGet package manager or the Package Manager Console.

PM> Install-Package Redakt.Providers.Azure

Service registration

Register Azure Blob Storage services in the ConfigureServices() method of your project's Startup.cs file by adding an AddAzureBlobStorage() 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.AddAzureBlobStorage();  // Optionally pass Action<AzureStorageOptions> parameter.
    // ... other Redakt services
}

Configuration settings

The Azure Blob Storage module is configured through the appsettings.json file. Any configuration that is not included in the appsettings.json file will be set to its default values. Additionally, an Action<AzureStorageOptions> configuration delegate may be passed to the AddAzureBlobStorage() call. Configuration set through this delegate takes priority and overrides values in the appsettings.json file.

{
    "Redakt": {
        "FileStore": {
            "AzureStorage": {
                "ConnectionString": "<your azure blog storage connection string>",
                "ContainerName": "media"
            }
        }
    }
}

Connection String

Required. Your Azure Storage Connection String can be found in the Azure Portal and is used to connect to your Azure Storage account. It should be in the following format: "DefaultEndpointsProtocol=https;AccountName={my-account-name};AccountKey={my-account-key};EndpointSuffix=core.windows.net"

Container Name

Sets the name of the Blob Storage container where files will be stored. Defaults to "media" if not set.