Akka.Persistence.Azure v1.5.17.1
1.5.17.1 March 4 2024
- Update Akka.NET v1.5.17.1
- Update Akka.Hosting v1.5.17.1
- Bump Azure.Identity to 1.10.4
- Bump Azure.Data.Tables to 12.18.3
- Bump Azure.Storage.Blobs to 12.19.1
1.5.13 October 6 2023
- Update Akka.NET v1.5.13
- Update Akka.Hosting v1.5.13
- Bump Azure.Storage.Blobs to 12.18.0
- Bump Azure.Data.Tables to 12.18.1
- Bump Azure.Identity to 1.10.1
1.5.1 March 16 2023
Multi Journal Support
You can now add more than one Akka.Persistence.Azure settings and use them singularly for different Akka plugins.
In the example below, we set up two separate journal options with two distinct identifier, one is being used as default persistence plugin, and the other are being used as the journal for cluster sharding.
var persistenceJournal = new AzureTableStorageJournalOptions(true)
{
Identifier = "azure-journal",
ConnectionString = connectionString
};
var shardJournal = new AzureTableStorageJournalOptions(false)
{
Identifier = "azure-shard-journal",
ConnectionString = shardConnectionString
};
builder
.WithClustering()
.WithAzureTableJournal(persistenceJournal)
.WithAzureTableJournal(shardJournal)
.WithAzureBlobsSnapshotStore(new AzureBlobSnapshotOptions
{
ConnectionString = connectionString
})
.WithShardRegion<ShardRegionKey>(
"region-1",
Customer.Props,
new MessageExtractor(10),
new ShardOptions
{
JournalOptions = shardJournal,
StateStoreMode = StateStoreMode.Persistence
});
1.5.0 March 02 2023
0.9.2 September 27 2022
- Bump Akka.NET version from 1.4.40 to 1.4.43
- Bump Akka.Persistence.Hosting from 0.4.2 to 0.4.3
- Bump Azure.Identity from 1.6.1 to 1.7.0
- Clean up all async operations during actor stop
- Refactor
DefaultAzureCredential
toTokenCredential
- Chunk batch transactions to 100 item chunk batches
0.9.1 August 29 2022
- Bump Akka.NET version from 1.4.39 to 1.4.40
- Bump Akka.Persistence.Hosting version from 0.4.1 to 0.4.2
- Bump Azure.Storage.Blobs version from 12.12.0 to 12.13.1
- Bump Azure.Identity version from 1.6.0 to 1.6.1
- Added programmatic Setup classes
- Update Akka.Hosting support to support
DefaultAzureCredential
New Setup classes are added to allow programmatic setup of the journal table and snapshot-store blog storage; these setup classes supports DefaultAzureCredential
. Note that to use DefaultAzureCredential
from the Azure.Identity
package, you need to provide both service URI and credential.
var host = new HostBuilder()
.ConfigureServices(collection =>
{
collection.AddAkka("MyActorSys", builder =>
{
var credentials = new DefaultAzureCredential();
// Programatically setup the journal table
builder.WithAzureTableJournal(setup => {
setup.TableName = "myazuretable";
setup.ServiceUri = new Uri("https://{account_name}.table.core.windows.net");
setup.DefaultAzureCredential = credentials;
// Optional TableClientOptions
setup.TableClientOptions = new TableClientOptions();
});
// Programatically setup the snapshot-store blob container
builder.WithAzureBlobsSnapshotStore(setup => {
setup.ContainerName = "myAzureBlobContainer";
setup.ServiceUri = new Uri("https://{account_name}.blob.core.windows.net");
setup.DefaultAzureCredential = credentials;
// Optional BlobClientOptions
setup.BlobClientOptions = new BlobClientOptions();
});
builder.StartActors((system, registry) =>
{
var myActor = system.ActorOf(Props.Create(() => new MyPersistenceActor("ac1")), "actor1");
registry.Register<MyPersistenceActor>(myActor);
});
});
}).Build();
A few convenience Akka.Hosting
extension methods are also added as a shortcut:
var host = new HostBuilder()
.ConfigureServices(collection =>
{
collection.AddAkka("MyActorSys", builder =>
{
var credentials = new DefaultAzureCredential();
// Add the journal table
builder.WithAzureTableJournal(
serviceUri: new Uri("https://{account_name}.table.core.windows.net"),
defaultAzureCredential: credentials);
// Add the snapshot-store blob container
builder.WithAzureBlobsSnapshotStore(
serviceUri: new Uri("https://{account_name}.blob.core.windows.net"),
defaultAzureCredential: credentials);
builder.StartActors((system, registry) =>
{
var myActor = system.ActorOf(Props.Create(() => new MyPersistenceActor("ac1")), "actor1");
registry.Register<MyPersistenceActor>(myActor);
});
});
}).Build();
0.9.0 July 21 2022
Added Akka.Hosting support to Akka.Persistence.Azure, which you can activate via the following:
First, install the Akka.Persistence.Azure.Hosting
NuGet package:
PS> install-package Akka.Persistence.Azure.Hosting
Next, add the WithAzurePersistence
method calls to your AkkaConfigurationBuilder
(from Akka.Hosting):
var conn = Environment.GetEnvironmentVariable("AZURE_CONNECTION_STR");
var host = new HostBuilder()
.ConfigureServices(collection =>
{
collection.AddAkka("MyActorSys", builder =>
{
// enables both journal and snapshot store
builder.WithAzurePersistence(conn);
builder.StartActors((system, registry) =>
{
var myActor = system.ActorOf(Props.Create(() => new MyPersistenceActor("ac1")), "actor1");
registry.Register<MyPersistenceActor>(myActor);
});
});
}).Build();
await host.StartAsync();
return host;
You can also call the following methods to activate the journal / snapshot stores independently:
WithAzureTableJournal
WithAzureBlobsSnapshotStore
0.8.4 June 2 2022
- Upgraded to Akka.NET 1.4.39
- Update Azure.Identity to 1.6.0
- Update System.Linq.Async to 6.0.1
- Upgrade
Microsoft.Azure.Consmos.Table
toAzure.Data.Tables
12.5.0
0.8.3 September 9 2021
0.8.2 April 20 2021
Release of Akka.Persistence.Azure
Changes:
- c780087 Update RELEASE_NOTES.md for 1.5.17.1 (#380)
- c463566 Bump Microsoft.SourceLink.GitHub from 1.1.1 to 8.0.0 (#360)
- 697fe32 Bump Microsoft.NET.Test.Sdk from 17.8.0 to 17.9.0 (#370)
- 6ba8686 Bump AkkaVersion from 1.5.16 to 1.5.17.1 (#375)
- ced20db Fix sharding unit test, extend wait time (#379)
- 4967251 Bump AkkaHostingVersion from 1.5.15 to 1.5.17.1 (#376)
- 60c2165 Bump Azure.Storage.Blobs to 12.19.1 (#377)
- f19a979 Bump xunit from 2.6.6 to 2.7.0 (#371)
- 541c14d Bump xunit.runner.visualstudio from 2.5.3 to 2.5.7 (#372)
- efe404b Bump Azure.Data.Tables from 12.8.1 to 12.8.3 (#369)
See More
- e87368e Bump xunit from 2.5.3 to 2.6.6 (#366)
- f020ea7 Bump AkkaHostingVersion from 1.5.13 to 1.5.15 (#368)
- 77d6813 Bump AkkaVersion from 1.5.14 to 1.5.16 (#367)
- 8913f5a Bump Microsoft.NET.Test.Sdk from 17.7.2 to 17.8.0 (#356)
- 8dff980 Bump Azure.Identity from 1.10.3 to 1.10.4 (#357)
- a38bc28 Bump AkkaVersion from 1.5.13 to 1.5.14 (#354)
- 8982c12 Regression test for #350 (#351)
- 7939e09 Bump xunit.runner.visualstudio from 2.5.1 to 2.5.3 (#346)
- e410f9b Bump xunit from 2.5.1 to 2.5.3 (#348)
- 3db29b1 Bump Azure.Identity from 1.10.2 to 1.10.3 (#349)
- b689884 Bump Azure.Identity from 1.10.1 to 1.10.2 (#345)
This list of changes was auto generated.