Akka.Persistence.Azure v0.9.2
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:
- 1d12d3d Merge pull request #259 from petabridge/dev
- 6d8ec7f Merge pull request #252 from petabridge/dependabot/nuget/Microsoft.NET.Test.Sdk-17.3.2
- b942ec4 Bump Microsoft.NET.Test.Sdk from 17.3.1 to 17.3.2
- 98dede2 Merge pull request #260 from Arkatufus/add_xunit.runner.json
- fb56397 Add xunit.runner.json
- 2b16e90 Merge pull request #258 from Arkatufus/Update_RELEASE_NOTES_for_0.9.2
- 95ef401 Update RELEASE_NOTES.md for 0.9.2 release
- 2cc13df Merge pull request #257 from Arkatufus/AkkaVersion_1.4.43
- 205f2db Merge remote-tracking branch 'upstream/dev' into AkkaVersion_1.4.43
- 837a0e3 Bump AkkaVersion from 1.4.41 to 1.4.43
See More
- 4f5147f Merge pull request #253 from petabridge/dependabot/nuget/AkkaVersion-1.4.42
- 5fe73f9 Bump AkkaVersion from 1.4.41 to 1.4.42
- e8f0f53 Merge pull request #256 from Arkatufus/chunk_documentation
- dad8e68 Add chunked transaction operation documentation
- ac47852 Re-add chunked transaction batching support (#254)
- d1baecf Migrate DefaultAzureCredential to TokenCredential (#250)
- c22a034 Cleanup all async operation during shutdown (#249)
- 7d73823 Bump Azure.Identity from 1.6.1 to 1.7.0 (#247)
- 51d3142 Bump Docker.DotNet from 3.125.11 to 3.125.12 (#246)
- 20f2168 Bump Akka.Persistence.Hosting from 0.4.2 to 0.4.3 (#245)
- 2994926 Bump Docker.DotNet from 3.125.10 to 3.125.11 (#244)
- db3c2c6 Bump AkkaVersion from 1.4.40 to 1.4.41 (#243)
- 445c497 Bump Microsoft.NET.Test.Sdk from 17.3.0 to 17.3.1 (#242)
- 09468d0 Add README documentation for programatic Setup (#241)
This list of changes was auto generated.