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 dla bazy danych lub kontenera (kolekcji, grafu lub tabeli) w usłudze Azure Cosmos DB for NoSQL. Skalowanie automatyczne można włączyć w jednym kontenerze lub aprowizować przepływność autoskalowania w bazie danych i udostępniać je wszystkim kontenerom w bazie danych.
Jeśli używasz innego interfejsu API, zobacz API for MongoDB, API for Cassandra, API for Gremlin articles (Interfejs API dla języka Gremlin), aby aprowizować przepływność.
Azure Portal
Tworzenie nowej bazy danych lub kontenera za pomocą autoskalowania
Zaloguj się do witryny Azure Portal lub eksploratora usługi Azure Cosmos DB.
Przejdź do konta usługi Azure Cosmos DB i otwórz kartę Eksplorator danych.
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ć przeskalowana baza danych lub kontener.
Wybierz przycisk OK.
Aby aprowizować skalowanie automatyczne 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
Zaloguj się do witryny Azure Portal lub eksploratora usługi Azure Cosmos DB.
Przejdź do konta usługi Azure Cosmos DB i otwórz kartę Eksplorator danych.
Wybierz pozycję Skaluj i ustawienia dla kontenera lub Skaluj dla bazy danych.
W obszarze Skalowanie wybierz opcję Autoskaluj i Zapisz.
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 dla noSQL, aby zarządzać zasobami autoskalowania.
Ważne
Zestaw .NET SDK umożliwia tworzenie nowych zasobów skalowania automatycznego. Zestaw SDK nie obsługuje migrowania między przepływnością autoskalowania i standardową (ręczną). Scenariusz migracji jest obecnie obsługiwany tylko w witrynie 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 JAVA SDK 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 migrowania między przepływnością autoskalowania i standardową (ręczną). Scenariusz migracji jest obecnie obsługiwany tylko w witrynie 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
Za pomocą programu Azure PowerShell można aprowizować przepływność autoskalowania w nowej bazie danych lub zasobie na poziomie kontenera dla wszystkich interfejsów API usługi Azure Cosmos DB lub włączyć skalowanie automatyczne w istniejącym zasobie. Przykłady można znaleźć w temacie Azure PowerShell samples for Azure Cosmos DB (Przykłady programu Azure PowerShell dla usługi Azure Cosmos DB).
Następne kroki
- Dowiedz się więcej o zaletach aprowizowanej przepływności za pomocą skalowania automatycznego.
- Dowiedz się, jak wybrać przepływność ręczną i automatyczną.
- Przejrzyj często zadawane pytania dotyczące automatycznego skalowania.