Partilhar via


Provisionar a taxa de transferência de dimensionamento automático no banco de dados ou contêiner no Azure Cosmos DB - API para NoSQL

APLICA-SE A: NoSQL

Este artigo explica como provisionar a taxa de transferência de dimensionamento automático em um banco de dados ou contêiner (coleção, gráfico ou tabela) no Azure Cosmos DB para NoSQL. Você pode habilitar o dimensionamento automático em um único contêiner ou provisionar a taxa de transferência de dimensionamento automático em um banco de dados e compartilhá-la entre todos os contêineres no banco de dados.

Se você estiver usando uma API diferente, consulte API para MongoDB, API para Cassandra, API para artigos Gremlin para provisionar a taxa de transferência.

Portal do Azure

Criar novo banco de dados ou contêiner com dimensionamento automático

  1. Entre no portal do Azure ou no explorador do Azure Cosmos DB.

  2. Navegue até sua conta do Azure Cosmos DB e abra a guia Data Explorer .

  3. Selecione Novo contêiner. Insira um nome para seu banco de dados, contêiner e uma chave de partição. Em Taxa de transferência de banco de dados ou contêiner, selecione a opção Autoscale e defina a taxa de transferência máxima (RU/s) para a qual você deseja que o banco de dados ou contêiner seja dimensionado.

    Criando um contêiner e configurando a taxa de transferência provisionada em escala automática

  4. Selecione OK.

Para provisionar o dimensionamento automático no banco de dados de taxa de transferência compartilhado, selecione a opção Provisionar taxa de transferência do banco de dados ao criar um novo banco de dados.

Habilitar o dimensionamento automático em banco de dados ou contêiner existente

  1. Entre no portal do Azure ou no explorador do Azure Cosmos DB.

  2. Navegue até sua conta do Azure Cosmos DB e abra a guia Data Explorer .

  3. Selecione Escala e configurações para seu contêiner ou Dimensionar para seu banco de dados.

  4. Em Escala, selecione a opção Dimensionamento automático e Guardar.

    Habilitando o dimensionamento automático em um contêiner existente

Nota

Quando você habilita o dimensionamento automático em um banco de dados ou contêiner existente, o valor inicial para RU/s máximo é determinado pelo sistema, com base em suas configurações de taxa de transferência e armazenamento provisionados manuais atuais. Após a conclusão da operação, você pode alterar o máximo de RU/s, se necessário. Mais informações.

Azure Cosmos DB .NET V3 SDK

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

Importante

Você pode usar o SDK do .NET para criar novos recursos de dimensionamento automático. O SDK não oferece suporte à migração entre o dimensionamento automático e a taxa de transferência padrão (manual). Atualmente, há suporte para o cenário de migração apenas no portal do Azure, CLI e PowerShell.

Criar banco de dados com taxa de transferência compartilhada

// 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 contêiner com taxa de transferência dedicada

// 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);

Leia a taxa de transferência 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 a taxa de transferência máxima de dimensionamento automático (RU/s)

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

Azure Cosmos DB Java V4 SDK

Você pode usar a versão 4.0 ou superior do SDK Java do Azure Cosmos DB para API para NoSQL para gerenciar recursos de dimensionamento automático.

Importante

Você pode usar o Java SDK para criar novos recursos de dimensionamento automático. O SDK não oferece suporte à migração entre o dimensionamento automático e a taxa de transferência padrão (manual). Atualmente, há suporte para o cenário de migração apenas no portal do Azure, CLI e PowerShell.

Criar banco de dados com taxa de transferência compartilhada

// 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 contêiner com taxa de transferência dedicada

// 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();

Leia a taxa de transferência 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 a taxa de transferência máxima de dimensionamento automático (RU/s)

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

Azure Resource Manager

Os modelos do Azure Resource Manager podem ser usados para provisionar a taxa de transferência de dimensionamento automático em um novo banco de dados ou recurso no nível de contêiner para todas as APIs do Azure Cosmos DB. Consulte Modelos do Azure Resource Manager para o Azure Cosmos DB para obter exemplos. Por design, os modelos do Azure Resource Manager não podem ser usados para migrar entre a taxa de transferência provisionada e de dimensionamento automático em um recurso existente.

CLI do Azure

A CLI do Azure pode ser usada para provisionar a taxa de transferência de dimensionamento automático em um novo banco de dados ou recurso no nível de contêiner para todas as APIs do Azure Cosmos DB ou habilitar o dimensionamento automático em um recurso existente. Para obter exemplos, consulte Exemplos da CLI do Azure para o Azure Cosmos DB.

Azure PowerShell

O Azure PowerShell pode ser usado para provisionar a taxa de transferência de dimensionamento automático em um novo banco de dados ou recurso no nível de contêiner para todas as APIs do Azure Cosmos DB ou habilitar o dimensionamento automático em um recurso existente. Para obter exemplos, consulte Exemplos do Azure PowerShell para o Azure Cosmos DB.

Próximos passos