/Akka.Persistence.Azure

Azure Storage Table backend for Akka.Persistence

Primary LanguageC#Apache License 2.0Apache-2.0

Akka.Persistence.Azure Build status NuGet Pre Release

Akka Persistence journal and snapshot store backed by Azure Table database.

Configuration

Both journal and snapshot store share the same configuration keys (however they resides in separate scopes, so they are defined distinctly for either journal or snapshot store):

Remember that connection string must be provided separately to Journal and Snapshot Store.

akka.persistence {
    journal {
        azure-table {
            # qualified type name of the Azure Storage Table persistence journal actor
            class = "Akka.Persistence.AzureTable.Journal.AzureTableJournal, Akka.Persistence.AzureTable"

            # dispatcher used to drive journal actor
            plugin-dispatcher = "akka.actor.default-dispatcher"

			# connection string used for database access
			connection-string = "UseDevelopmentStorage=true"

			# table storage table corresponding with persistent journal
			table-name = events

			# metadata table
			metadata-table-name = metadata

			# should corresponding journal table be initialized automatically
			auto-initialize = off
        }
    }
    snapshot-store {
        azure-table {
            # qualified type name of the Azure Storage Table persistence snapshot-store actor
            class = "Akka.Persistence.AzureTable.Snapshot.AzureSnapshotStore, Akka.Persistence.AzureTable"

            # dispatcher used to drive snapshot-store actor
            plugin-dispatcher = "akka.actor.default-dispatcher"

			# connection string used for database access
			connection-string = "UseDevelopmentStorage=true"

			# table storage table corresponding with persistent snapshot-store
			table-name = snapshots

			# should corresponding snapshot-store table be initialized automatically
			auto-initialize = off
        }
    }    
}

Serialization

Azure plugin uses Json.Net to serialize all payloads