Partager via


Persistance des grains Azure Cosmos DB for NoSQL

Le fournisseur de persistance des grains Azure Cosmos DB prend en charge l’API pour NoSQL.

Installer le package NuGet

Installez les packages NuGet Microsoft.Orleans.Persistence.Cosmos et Microsoft.Orleans.Clustering.Cosmos. Le fournisseur Azure Cosmos DB stocke l’état dans un élément conteneur.

Important

Le nom de base de données par défaut utilisé par le fournisseur est Orleans. Le nom du conteneur de clustering par défaut est OrleansCluster et le nom du conteneur de stockage par défaut est OrleansStorage. Le conteneur de clusters attend une valeur de clé de partition de /ClusterId et le conteneur de stockage attend /PartitionKey.

Configurer un fournisseur de clustering

Pour configurer le fournisseur de clustering, utilisez la méthode d’extension HostingExtensions.UseCosmosClustering. Vous pouvez personnaliser le nom et le débit de la base de données ou du conteneur, activer la création de ressources ou configurer les informations d’identification du client dans cette méthode.

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>");
    });

Configurer un fournisseur de stockage

Configurez le fournisseur de persistance des grains Azure Cosmos DB en utilisant la méthode d’extension HostingExtensions.AddCosmosGrainStorage.

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>");
    });