Releases: petabridge/Akka.Persistence.Azure
Akka.Persistence.Azure v1.5.32.1
1.5.32.1 December 23rd 2024
1.5.32 December 19th 2024
- Update Akka.NET v1.5.32
- Update Akka.Hosting v1.5.32
- Revert: Fix possible credential caching issue
- Add option to inject
TableServiceClient
andBlobServiceClient
directly
We've added a new way to configure Akka.Persistence.Azure by allowing users to directly inject TableServiceClient
and BlobServiceClient
into Azure journal and snapshot store.
var credential = new DefaultAzureCredential();
var tableClient = new TableServiceClient(tableServiceUri, credential);
var blobClient = new BlobServiceClient(blobServiceUri, credential);
akkaConfigurationBuilder.WithAzurePersistence(
tableServiceClientFactory: () => tableClient,
blobServiceClientFactory: () => blobClient
);
1.5.31 December 3rd 2024
- Update Akka.NET v1.5.31
- Update Akka.Hosting v1.5.31
- Bump Azure.Identity from 1.12.0 to 1.13.1
- Bump Azure.Storage.Blobs from 12.21.2 to 12.23.0
- Bump Azure.Data.Tables from 12.9.0 to 12.9.1
- Fix missing Persistence.DefaultConfig
- Fix possible credential caching issue
1.5.28 September 11th 2024
- Update Akka.NET v1.5.28
- Update Akka.Hosting v1.5.28
- Bump Azure.Identity to 1.12.0
- Bump Azure.Data.Tables to 12.9.0
- Bump Azure.Storage.Blobs to 12.21.2
1.5.26 July 3 2024
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.Pers...
Akka.Persistence.Azure v1.5.32
1.5.32 December 19th 2024
- Update Akka.NET v1.5.32
- Update Akka.Hosting v1.5.32
- Revert: Fix possible credential caching issue
- Add option to inject
TableServiceClient
andBlobServiceClient
directly
We've added a new way to configure Akka.Persistence.Azure by allowing users to directly inject TableServiceClient
and BlobServiceClient
into Azure journal and snapshot store.
var credential = new DefaultAzureCredential();
var tableClient = new TableServiceClient(tableServiceUri, credential);
var blobClient = new BlobServiceClient(blobServiceUri, credential);
akkaConfigurationBuilder.WithAzurePersistence(
tableServiceClientFactory: () => tableClient,
blobServiceClientFactory: () => blobClient
);
1.5.31 December 3rd 2024
- Update Akka.NET v1.5.31
- Update Akka.Hosting v1.5.31
- Bump Azure.Identity from 1.12.0 to 1.13.1
- Bump Azure.Storage.Blobs from 12.21.2 to 12.23.0
- Bump Azure.Data.Tables from 12.9.0 to 12.9.1
- Fix missing Persistence.DefaultConfig
- Fix possible credential caching issue
1.5.28 September 11th 2024
- Update Akka.NET v1.5.28
- Update Akka.Hosting v1.5.28
- Bump Azure.Identity to 1.12.0
- Bump Azure.Data.Tables to 12.9.0
- Bump Azure.Storage.Blobs to 12.21.2
1.5.26 July 3 2024
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-...
Akka.Persistence.Azure v1.5.31
1.5.31 December 3rd 2024
- Update Akka.NET v1.5.31
- Update Akka.Hosting v1.5.31
- Bump Azure.Identity from 1.12.0 to 1.13.1
- Bump Azure.Storage.Blobs from 12.21.2 to 12.23.0
- Bump Azure.Data.Tables from 12.9.0 to 12.9.1
- Fix missing Persistence.DefaultConfig
- Fix possible credential caching issue
1.5.28 September 11th 2024
- Update Akka.NET v1.5.28
- Update Akka.Hosting v1.5.28
- Bump Azure.Identity to 1.12.0
- Bump Azure.Data.Tables to 12.9.0
- Bump Azure.Storage.Blobs to 12.21.2
1.5.26 July 3 2024
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...
Akka.Persistence.Azure v1.5.28
1.5.28 September 11th 2024
- Update Akka.NET v1.5.28
- Update Akka.Hosting v1.5.28
- Bump Azure.Identity to 1.12.0
- Bump Azure.Data.Tables to 12.9.0
- Bump Azure.Storage.Blobs to 12.21.2
1.5.26 July 3 2024
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
**Releas...
Akka.Persistence.Azure v1.5.26
1.5.26 July 3 2024
Changes:
- 66901ef V1.5.26 release notes (#413)
- 5b7c984 fixed Akka.NET dependencies (#412)
- 627f3b0 Bump AkkaHostingVersion from 1.5.20 to 1.5.25 (#409)
- ddca489 Bump Azure.Identity from 1.11.0 to 1.11.4 (#407)
- 27e70b1 Bump Azure.Storage.Blobs from 12.19.1 to 12.20.0 (#398)
- e93d7c6 Bump Microsoft.NET.Test.Sdk from 17.9.0 to 17.10.0 (#399)
- 5ca66eb Bump AkkaVersion from 1.5.19 to 1.5.20 (#395)
- 876f299 Bump AkkaHostingVersion from 1.5.19 to 1.5.20 (#396)
This list of changes was auto generated.
Akka.Persistence.Azure v1.5.19
1.5.19 April 24 2024
- Update Akka.NET v1.5.19
- Update Akka.Hosting v1.5.19
- Fix tag query message replay logic
- Bump Azure.Identity to 1.11.0
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:
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...
Akka.Persistence.Azure v1.5.13
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:
- 0bf73aa Update RELEASE_NOTES.md for 1.5.13 release (#344)
- c31fd64 Bump Azure.Storage.Blobs from 12.15.1 to 12.18.0 (#337)
- def4a65 Modernize solution (#343)
- 4a8bd5f Bump Microsoft.NET.Test.Sdk from 17.6.3 to 17.7.2 (#335)
- 163b2ff Bump Azure.Data.Tables from 12.8.0 to 12.8.1 (#333)
- 590a2e9 Bump xunit from 2.5.0 to 2.5.1 (#339)
- 81580a6 Bump AkkaHostingVersion from 1.5.8.1 to 1.5.13 (#342)
- 173fe16 Bump Azure.Identity from 1.9.0 to 1.10.1 (#338)
- d387ce0 Bump AkkaVersion from 1.5.11 to 1.5.13 (#341)
- 629df07 Bump xunit.runner.visualstudio from 2.5.0 to 2.5.1 (#340)
Akka.Persistence.Azure v1.5.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
});
Changes:
- 346e028 Update RELEASE_NOTES.md for 1.5.1 release (#295)
- 0d9fbcd Bump AkkaVersion from 1.5.0 to 1.5.1 (#294)
- 51254a9 Update copyright headers to 2023 (#292)
- 05368d5 Multi journal config feature implementation (#272)
- 4bc801e Bump Azure.Storage.Blobs from 12.13.1 to 12.15.0 (#287)
- abfb60b Fix NuGet URL, license, and icon url (#291)
This list of changes was auto generated.
Akka.Persistence.Azure v1.5.0
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:
- 899b232 upgraded Akka.Persistence.Azure to Akka.NET v1.5 (#290)
- 1c912b9 Bump Docker.DotNet from 3.125.12 to 3.125.13 (#289)
- 4df4bb0 Update Akka.NET and Akka.Hosting to 1.5.0-beta6 (#288)
- 5f234cb Bump Microsoft.NET.Test.Sdk from 17.4.1 to 17.5.0 (#286)
- 0ca81c9 Add options support to hosting extensions (#285)
- 5d8dbc7 Centralized NuGet Package Management (#284)
- b61bcf7 Bump Azure.Data.Tables from 12.7.1 to 12.8.0 (#281)
- 4db81a8 Bump Azure.Identity from 1.8.1 to 1.8.2 (#283)
- e608066 Bump Akka.Persistence.Hosting from 1.0.2 to 1.0.3 (#282)
- dad9c90 Bump Akka.Persistence.Hosting from 1.0.1 to 1.0.2 (#280)
See More
- 7e6eefa Bump AkkaVersion from 1.4.48 to 1.4.49 (#279)
- 5d20838 Bump AkkaVersion from 1.4.47 to 1.4.48 (#276)
- 7e17c60 Bump Akka.Persistence.Hosting from 1.0.0 to 1.0.1 (#277)
- 2bc9a94 Bump Azure.Identity from 1.8.0 to 1.8.1 (#278)
- bf0d27b Bump Akka.Persistence.Hosting from 0.5.1 to 1.0.0 (#275)
- 9c67978 Bump Microsoft.NET.Test.Sdk from 17.4.0 to 17.4.1 (#274)
- 0d2ecf6 Bump Azure.Data.Tables from 12.6.1 to 12.7.1 (#271)
- 7aeb0ad Bump Azure.Identity from 1.7.0 to 1.8.0 (#268)
- 7f670c7 Bump AkkaVersion from 1.4.45 to 1.4.47 (#273)
- a05ad8c Bump Microsoft.NET.Test.Sdk from 17.3.2 to 17.4.0 (#267)
- dc47207 Bump Akka.Persistence.Hosting from 0.5.0 to 0.5.1 (#266)
- 4aab951 Bump AkkaVersion from 1.4.44 to 1.4.45 (#264)
- 2115860 Bump AkkaVersion from 1.4.43 to 1.4.44 (#263)
- d98cd75 Bump Akka.Persistence.Hosting from 0.4.3 to 0.5.0 (#261)
This list of changes was auto generated.