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
Inicie sessão no portal do Azure ou no explorador do Azure Cosmos DB.
Navegue para a sua conta do Azure Cosmos DB e abra o separador Data Explorer.
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.
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
Inicie sessão no portal do Azure ou no explorador do Azure Cosmos DB.
Navegue para a sua conta do Azure Cosmos DB e abra o separador Data Explorer.
Selecione Dimensionamento e Definições para o contentor ou Dimensionar para a base de dados.
Em Dimensionar, selecione a opção Dimensionamento Automático e Guardar.
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
- Saiba mais sobre as vantagens do débito aprovisionado com o dimensionamento automático.
- Saiba como escolher entre o débito manual e o dimensionamento automático.
- Reveja as FAQ sobre o dimensionamento automático.