用于 NoSQL 粒度持久性的 Azure Cosmos DB
Azure Cosmos DB 粒度持久性提供程序支持用于 NoSQL 的 API。
安装 NuGet 包
安装 Microsoft。Orleans。Persistence.Cosmos 和 Microsoft。Orleans。Clustering.Cosmos NuGet 包。 Azure Cosmos DB 提供程序将状态存储在容器项中。
重要
提供程序使用的默认数据库名称为 Orleans。 默认群集容器名称为 OrleansCluster,默认存储容器名称为 OrleansStorage。 群集容器需要 /ClusterId
分区键值,存储容器需要 /PartitionKey
。
配置群集提供程序
若要配置群集提供程序,请使用 HostingExtensions.UseCosmosClustering
扩展方法。 可在此方法中自定义数据库或容器的名称和吞吐量、启用资源创建或配置客户端的凭据。
siloBuilder.UseCosmosClustering(
configureOptions: static options =>
{
options.IsResourceCreationEnabled = true;
options.DatabaseName = "OrleansAlternativeDatabase";
options.ContainerName = "OrleansClusterAlternativeContainer";
options.ContainerThroughputProperties = ThroughputProperties.CreateAutoscaleThroughput(1000);
options.ConfigureCosmosClient("<azure-cosmos-db-nosql-connection-string>");
});
配置存储提供程序
使用 HostingExtensions.AddCosmosGrainStorage
扩展方法配置 Azure Cosmos DB 粒度持久性提供程序。
siloBuilder.AddCosmosGrainStorage(
name: "profileStore",
configureOptions: static options =>
{
options.IsResourceCreationEnabled = true;
options.DatabaseName = "OrleansAlternativeDatabase";
options.ContainerName = "OrleansStorageAlternativeContainer";
options.ContainerThroughputProperties = ThroughputProperties.CreateAutoscaleThroughput(1000);
options.ConfigureCosmosClient("<azure-cosmos-db-nosql-connection-string>");
});