用于 NoSQL 粒度持久性的 Azure Cosmos DB

Azure Cosmos DB 粒度持久性提供程序支持用于 NoSQL 的 API

安装 NuGet 包

安装 Microsoft。Orleans。Persistence.CosmosMicrosoft。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>");
    });