Zřízení propustnosti automatického škálování databáze nebo kontejneru ve službě Azure Cosmos DB – ROZHRANÍ API pro NoSQL

PLATÍ PRO: NoSQL

Tento článek vysvětluje, jak zřídit propustnost automatického škálování pro databázi nebo kontejner (kolekci, graf nebo tabulku) ve službě Azure Cosmos DB for NoSQL. Můžete povolit automatické škálování pro jeden kontejner nebo zřídit propustnost automatického škálování databáze a sdílet ji mezi všemi kontejnery v databázi.

Pokud používáte jiné rozhraní API, přečtěte si články o rozhraní API pro MongoDB, ROZHRANÍ API pro Cassandru a ROZHRANÍ API pro Gremlin , kde najdete informace o zřízení propustnosti.

portál Azure

Vytvoření nové databáze nebo kontejneru s automatickým škálováním

  1. Přihlaste se k Azure Portal nebo k průzkumníku služby Azure Cosmos DB.

  2. Přejděte k účtu služby Azure Cosmos DB a otevřete kartu Data Explorer.

  3. Vyberte Nový kontejner. Zadejte název databáze, kontejneru a klíče oddílu. V části Propustnost databáze nebo kontejneru vyberte možnost Automatické škálování a nastavte maximální propustnost (RU/s), na kterou chcete databázi nebo kontejner škálovat.

    Vytvoření kontejneru a konfigurace zřízené propustnosti s automatickým škálováním

  4. Vyberte OK.

Pokud chcete zřídit automatické škálování pro databázi se sdílenou propustností, vyberte při vytváření nové databáze možnost Zřídit propustnost databáze .

Povolení automatického škálování pro existující databázi nebo kontejner

  1. Přihlaste se k Azure Portal nebo k průzkumníku služby Azure Cosmos DB.

  2. Přejděte k účtu služby Azure Cosmos DB a otevřete kartu Data Explorer.

  3. Vyberte Škálování a nastavení pro váš kontejner nebo Škálovat pro vaši databázi.

  4. V části Škálování vyberte možnost Automatické škálování a uložit.

    Povolení automatického škálování u existujícího kontejneru

Poznámka

Když povolíte automatické škálování u existující databáze nebo kontejneru, počáteční hodnotu maximálního počtu RU/s určí systém na základě aktuálního nastavení ručně zřízené propustnosti a úložiště. Po dokončení operace můžete v případě potřeby změnit maximální počet RU/s. Další informace

Azure Cosmos DB .NET V3 SDK

Ke správě prostředků automatického škálování použijte verzi 3.9 sady .NET SDK služby Azure Cosmos DB pro rozhraní API for NoSQL.

Důležité

K vytvoření nových prostředků automatického škálování můžete použít sadu .NET SDK. Sada SDK nepodporuje migraci mezi automatickým škálováním a standardní (ruční) propustností. Scénář migrace se v současné době podporuje jenom v Azure Portal, rozhraní příkazového řádku a PowerShellu.

Vytvoření databáze se sdílenou propustností

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

Vytvoření kontejneru s vyhrazenou propustností

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

Čtení aktuální propustnosti (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;

Změna maximální propustnosti (RU/s) automatického škálování

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

Azure Cosmos DB Java V4 SDK

Ke správě prostředků automatického škálování můžete použít sadu Java SDK služby Azure Cosmos DB pro rozhraní API for NoSQL verze 4.0 nebo vyšší .

Důležité

K vytvoření nových prostředků automatického škálování můžete použít sadu Java SDK. Sada SDK nepodporuje migraci mezi automatickým škálováním a standardní (ruční) propustností. Scénář migrace se v současné době podporuje jenom v Azure Portal, rozhraní příkazového řádku a PowerShellu.

Vytvoření databáze se sdílenou propustností

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

Vytvoření kontejneru s vyhrazenou propustností

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

Čtení aktuální propustnosti (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;

Změna maximální propustnosti (RU/s) automatického škálování

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

Azure Resource Manager

Šablony Azure Resource Manager je možné použít ke zřízení propustnosti automatického škálování pro nový prostředek na úrovni databáze nebo kontejneru pro všechna rozhraní API služby Azure Cosmos DB. Ukázky najdete v tématu Šablony Azure Resource Manager pro Službu Azure Cosmos DB. Šablony Azure Resource Manager se záměrně nedají použít k migraci mezi zřízenou propustností a automatickým škálováním u existujícího prostředku.

Azure CLI

Azure CLI je možné použít ke zřízení propustnosti automatického škálování u nového prostředku na úrovni databáze nebo kontejneru pro všechna rozhraní API služby Azure Cosmos DB nebo povolení automatického škálování pro existující prostředek. Ukázky najdete v tématu Ukázky Azure CLI pro službu Azure Cosmos DB.

Azure PowerShell

Azure PowerShell je možné použít ke zřízení propustnosti automatického škálování u nového prostředku na úrovni databáze nebo kontejneru pro všechna rozhraní API služby Azure Cosmos DB nebo k povolení automatického škálování u existujícího prostředku. Ukázky najdete v tématu Azure PowerShell ukázky pro službu Azure Cosmos DB.

Další kroky