Persistência de granularidade do Azure Cosmos DB for NoSQL
O provedor de persistência de granularidade do Azure Cosmos DB dá suporte à API para NoSQL.
Instalar pacote NuGet
Instale os Pacotes NuGet Microsoft.Orleans.Persistence.Cosmos e Microsoft.Orleans.Clustering.Cosmos. O provedor do Azure Cosmos DB armazena o estado em um item de contêiner.
Importante
O nome do banco de dados padrão usado pelo provedor é Orleans. O nome do contêiner de clustering padrão é OrleansCluster e o nome do contêiner de armazenamento padrão é OrleansStorage. O contêiner de cluster espera um valor de chave de partição /ClusterId
e o contêiner de armazenamento espera /PartitionKey
.
Configurar o provedor de clustering
Para configurar o provedor de clustering, use o método de extensão HostingExtensions.UseCosmosClustering
. Nesse método, você pode personalizar o nome e a taxa de transferência do banco de dados ou contêiner, habilitar a criação de recursos ou configurar as credenciais do cliente.
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>");
});
Configurar o provedor de armazenamento
Configure o provedor de persistência de granularidade do Azure Cosmos DB usando o método de extensão 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>");
});