Aprovisionar débito de dimensionamento automático na base de dados ou no contentor no Azure Cosmos DB – API para NoSQL

APLICA-SE A: NoSQL

Este artigo explica como aprovisionar o débito de dimensionamento automático numa base de dados ou contentor (coleção, gráfico ou tabela) no Azure Cosmos DB para NoSQL. Pode ativar o dimensionamento automático num único contentor ou aprovisionar o débito de dimensionamento automático numa base de dados e partilhá-lo entre todos os contentores na base de dados.

Se estiver a utilizar uma API diferente, veja API para MongoDB, API para Cassandra, API para artigos do Gremlin para aprovisionar o débito.

Portal do Azure

Criar uma nova base de dados ou contentor com o dimensionamento automático

  1. Inicie sessão no portal do Azure ou no explorador do Azure Cosmos DB.

  2. Navegue para a sua conta do Azure Cosmos DB e abra o separador Data Explorer.

  3. Selecione Novo Contentor. Introduza um nome para a base de dados, o contentor e uma chave de partição. Em Débito de base de dados ou contentor, selecione a opção Dimensionamento Automático e defina o débito máximo (RU/s) para o qual pretende dimensionar a base de dados ou o contentor.

    Criar um contentor e configurar o débito aprovisionado de dimensionamento automático

  4. Selecione OK.

Para aprovisionar o dimensionamento automático na base de dados de débito partilhado, selecione a opção Aprovisionar débito da base de dados ao criar uma nova base de dados.

Ativar o dimensionamento automático na base de dados ou no contentor existente

  1. Inicie sessão no portal do Azure ou no explorador do Azure Cosmos DB.

  2. Navegue para a sua conta do Azure Cosmos DB e abra o separador Data Explorer.

  3. Selecione Dimensionamento e Definições para o contentor ou Dimensionar para a base de dados.

  4. Em Dimensionar, selecione a opção Dimensionamento Automático e Guardar.

    Ativar o dimensionamento automático num contentor existente

Nota

Quando ativa o dimensionamento automático numa base de dados ou contentor existente, o valor inicial para RU/s máximas é determinado pelo sistema, com base nas definições de débito aprovisionado manual e no armazenamento atuais. Após a conclusão da operação, pode alterar a RU/s máxima, se necessário. Saiba mais.

Azure Cosmos DB .NET V3 SDK

Utilize a versão 3.9 ou superior do SDK .NET do Azure Cosmos DB para API para NoSQL para gerir recursos de dimensionamento automático.

Importante

Pode utilizar o SDK .NET para criar novos recursos de dimensionamento automático. O SDK não suporta a migração entre o dimensionamento automático e o débito padrão (manual). O cenário de migração é atualmente suportado apenas no portal do Azure, na CLI e no PowerShell.

Criar uma base de dados com débito partilhado

// Create instance of CosmosClient
CosmosClient cosmosClient = new CosmosClient(Endpoint, PrimaryKey);
 
// Autoscale throughput settings
ThroughputProperties autoscaleThroughputProperties = ThroughputProperties.CreateAutoscaleThroughput(1000); //Set autoscale max RU/s

//Create the database with autoscale enabled
database = await cosmosClient.CreateDatabaseAsync(DatabaseName, throughputProperties: autoscaleThroughputProperties);

Criar um contentor com débito dedicado

// Get reference to database that container will be created in
Database database = await cosmosClient.GetDatabase("DatabaseName");

// Container and autoscale throughput settings
ContainerProperties autoscaleContainerProperties = new ContainerProperties("ContainerName", "/partitionKey");
ThroughputProperties autoscaleThroughputProperties = ThroughputProperties.CreateAutoscaleThroughput(1000); //Set autoscale max RU/s

// Create the container with autoscale enabled
container = await database.CreateContainerAsync(autoscaleContainerProperties, autoscaleThroughputProperties);

Ler o débito atual (RU/s)

// Get a reference to the resource
Container container = cosmosClient.GetDatabase("DatabaseName").GetContainer("ContainerName");

// Read the throughput on a resource
ThroughputProperties autoscaleContainerThroughput = await container.ReadThroughputAsync(requestOptions: null); 

// The autoscale max throughput (RU/s) of the resource
int? autoscaleMaxThroughput = autoscaleContainerThroughput.AutoscaleMaxThroughput;

// The throughput (RU/s) the resource is currently scaled to
int? currentThroughput = autoscaleContainerThroughput.Throughput;

Alterar o débito máximo do dimensionamento automático (RU/s)

// Change the autoscale max throughput (RU/s)
await container.ReplaceThroughputAsync(ThroughputProperties.CreateAutoscaleThroughput(newAutoscaleMaxThroughput));

Azure Cosmos DB Java V4 SDK

Pode utilizar a versão 4.0 ou superior do SDK Java do Azure Cosmos DB para API para NoSQL para gerir recursos de dimensionamento automático.

Importante

Pode utilizar o SDK Java para criar novos recursos de dimensionamento automático. O SDK não suporta a migração entre o dimensionamento automático e o débito padrão (manual). O cenário de migração é atualmente suportado apenas no portal do Azure, na CLI e no PowerShell.

Criar uma base de dados com débito partilhado

// Create instance of CosmosClient
CosmosAsyncClient client = new CosmosClientBuilder()
    .setEndpoint(HOST)
    .setKey(PRIMARYKEY)
    .setConnectionPolicy(CONNECTIONPOLICY)
    .buildAsyncClient();

// Autoscale throughput settings
ThroughputProperties autoscaleThroughputProperties = ThroughputProperties.createAutoscaledThroughput(1000); //Set autoscale max RU/s

//Create the database with autoscale enabled
CosmosAsyncDatabase database = client.createDatabase(databaseName, autoscaleThroughputProperties).block().getDatabase();

Criar um contentor com débito dedicado

// Get reference to database that container will be created in
CosmosAsyncDatabase database = client.createDatabase("DatabaseName").block().getDatabase();

// Container and autoscale throughput settings
CosmosContainerProperties autoscaleContainerProperties = new CosmosContainerProperties("ContainerName", "/partitionKey");
ThroughputProperties autoscaleThroughputProperties = ThroughputProperties.createAutoscaledThroughput(1000); //Set autoscale max RU/s

// Create the container with autoscale enabled
CosmosAsyncContainer container = database.createContainer(autoscaleContainerProperties, autoscaleThroughputProperties, new CosmosContainerRequestOptions())
                                .block()
                                .getContainer();

Ler o débito atual (RU/s)

// Get a reference to the resource
CosmosAsyncContainer container = client.getDatabase("DatabaseName").getContainer("ContainerName");

// Read the throughput on a resource
ThroughputProperties autoscaleContainerThroughput = container.readThroughput().block().getProperties();

// The autoscale max throughput (RU/s) of the resource
int autoscaleMaxThroughput = autoscaleContainerThroughput.getAutoscaleMaxThroughput();

// The throughput (RU/s) the resource is currently scaled to
int currentThroughput = autoscaleContainerThroughput.Throughput;

Alterar o débito máximo do dimensionamento automático (RU/s)

// Change the autoscale max throughput (RU/s)
container.replaceThroughput(ThroughputProperties.createAutoscaledThroughput(newAutoscaleMaxThroughput)).block();

Azure Resource Manager

Os modelos de Resource Manager do Azure podem ser utilizados para aprovisionar o débito de dimensionamento automático numa nova base de dados ou recurso ao nível do contentor para todas as APIs do Azure Cosmos DB. Veja Modelos do Azure Resource Manager para o Azure Cosmos DB para obter exemplos. Por predefinição, os modelos de Resource Manager do Azure não podem ser utilizados para migrar entre o débito aprovisionado e o dimensionamento automático num recurso existente.

CLI do Azure

A CLI do Azure pode ser utilizada para aprovisionar o débito de dimensionamento automático numa nova base de dados ou recurso ao nível do contentor para todas as APIs do Azure Cosmos DB ou ativar o dimensionamento automático num recurso existente. Para obter exemplos, veja Exemplos da CLI do Azure para o Azure Cosmos DB.

Azure PowerShell

Azure PowerShell podem ser utilizados para aprovisionar o débito de dimensionamento automático numa nova base de dados ou recurso ao nível do contentor para todas as APIs do Azure Cosmos DB ou ativar o dimensionamento automático num recurso existente. Para obter exemplos, veja Azure PowerShell exemplos do Azure Cosmos DB.

Passos seguintes