Aprowizowanie przepływności autoskalowania w bazie danych lub kontenerze w usłudze Azure Cosmos DB — interfejs API dla noSQL

DOTYCZY: NoSQL

W tym artykule wyjaśniono, jak aprowizować przepływność autoskalowania w bazie danych lub kontenerze (kolekcji, grafu lub tabeli) w usłudze Azure Cosmos DB for NoSQL. Możesz włączyć skalowanie automatyczne w jednym kontenerze lub aprowizować przepływność autoskalowania w bazie danych i udostępniać ją wszystkim kontenerom w bazie danych.

Jeśli używasz innego interfejsu API, zobacz API for MongoDB, API for Cassandra, API for Gremlin articles to provision the throughput (Interfejs API dla bazy danych Cassandra, API for Gremlin ), aby aprowizować przepływność.

Azure Portal

Tworzenie nowej bazy danych lub kontenera przy użyciu autoskalowania

  1. Zaloguj się do Azure Portal lub eksploratora usługi Azure Cosmos DB.

  2. Przejdź do konta usługi Azure Cosmos DB i otwórz kartę Data Explorer.

  3. Wybierz pozycję Nowy kontener. Wprowadź nazwę bazy danych, kontenera i klucza partycji. W obszarze Przepływność bazy danych lub kontenera wybierz opcję Autoskalowanie i ustaw maksymalną przepływność (RU/s), do której ma zostać skalowana baza danych lub kontener.

    Tworzenie kontenera i konfigurowanie aprowizowanej przepływności autoskalowania

  4. Wybierz przycisk OK.

Aby aprowizować autoskalowanie w bazie danych z udostępnioną przepływnością, wybierz opcję Aprowizuj przepływność bazy danych podczas tworzenia nowej bazy danych.

Włączanie automatycznego skalowania w istniejącej bazie danych lub kontenerze

  1. Zaloguj się do Azure Portal lub eksploratora usługi Azure Cosmos DB.

  2. Przejdź do konta usługi Azure Cosmos DB i otwórz kartę Data Explorer.

  3. Wybierz pozycję Skaluj i ustawienia dla kontenera lub Skaluj dla bazy danych.

  4. W obszarze Skalowanie wybierz opcję Autoskaluj i Zapisz.

    Włączanie automatycznego skalowania w istniejącym kontenerze

Uwaga

Po włączeniu automatycznego skalowania w istniejącej bazie danych lub kontenerze wartość początkowa maksymalnej liczby jednostek RU/s jest określana przez system na podstawie bieżących ustawień aprowizowanej przepływności i magazynu. Po zakończeniu operacji można w razie potrzeby zmienić maksymalną liczbę jednostek RU/s. Dowiedz się więcej.

Zestaw SDK platformy .NET w wersji 3 usługi Azure Cosmos DB

Użyj wersji 3.9 lub nowszej zestawu .NET SDK usługi Azure Cosmos DB dla interfejsu API for NoSQL, aby zarządzać zasobami skalowania automatycznego.

Ważne

Zestaw SDK platformy .NET umożliwia tworzenie nowych zasobów skalowania automatycznego. Zestaw SDK nie obsługuje migracji między przepływnością autoskalowania i standardową (ręczną). Scenariusz migracji jest obecnie obsługiwany tylko w Azure Portal, interfejsie wiersza polecenia i programie PowerShell.

Tworzenie bazy danych z udostępnioną przepływnością

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

Tworzenie kontenera z dedykowaną przepływnością

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

Odczytywanie bieżącej przepływności (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;

Zmienianie maksymalnej przepływności autoskalowania (RU/s)

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

Zestaw SDK java usługi Azure Cosmos DB w wersji 4

Do zarządzania zasobami autoskalowania można użyć wersji 4.0 lub nowszej zestawu Java SDK usługi Azure Cosmos DB dla interfejsu API for NoSQL.

Ważne

Zestaw JAVA SDK umożliwia tworzenie nowych zasobów autoskalowania. Zestaw SDK nie obsługuje migracji między przepływnością autoskalowania i standardową (ręczną). Scenariusz migracji jest obecnie obsługiwany tylko w Azure Portal, interfejsie wiersza polecenia i programie PowerShell.

Tworzenie bazy danych z udostępnioną przepływnością

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

Tworzenie kontenera z dedykowaną przepływnością

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

Odczytywanie bieżącej przepływności (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;

Zmienianie maksymalnej przepływności autoskalowania (RU/s)

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

Azure Resource Manager

Szablony usługi Azure Resource Manager mogą służyć do aprowizowania przepływności autoskalowania w nowej bazie danych lub zasobie na poziomie kontenera dla wszystkich interfejsów API usługi Azure Cosmos DB. Zobacz Szablony usługi Azure Resource Manager dla usługi Azure Cosmos DB, aby uzyskać przykłady. Zgodnie z projektem szablony usługi Azure Resource Manager nie mogą być używane do migrowania między aprowizowaną i automatyczną przepływnością skalowania w istniejącym zasobie.

Interfejs wiersza polecenia platformy Azure

Interfejs wiersza polecenia platformy Azure może służyć do aprowizowania przepływności autoskalowania w nowej bazie danych lub zasobie na poziomie kontenera dla wszystkich interfejsów API usługi Azure Cosmos DB lub włączania automatycznego skalowania w istniejącym zasobie. Aby uzyskać przykłady, zobacz Przykłady interfejsu wiersza polecenia platformy Azure dla usługi Azure Cosmos DB.

Azure PowerShell

Azure PowerShell można użyć do aprowizowania przepływności autoskalowania w nowej bazie danych lub zasobie na poziomie kontenera dla wszystkich interfejsów API usługi Azure Cosmos DB lub włączenia automatycznego skalowania w istniejącym zasobie. Aby uzyskać przykłady, zobacz przykłady Azure PowerShell dla usługi Azure Cosmos DB.

Następne kroki