Zřízení propustnosti automatického škálování pro databázi nebo kontejner 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. Automatické škálování můžete povolit v jednom kontejneru nebo zřídit propustnost automatického škálování v databázi a sdílet ji mezi všemi kontejnery v databázi.
Pokud používáte jiné rozhraní API, informace o zřízení propustnosti najdete v článcích api pro MongoDB, API for Cassandra, api pro Gremlin .
portál Azure
Vytvoření nové databáze nebo kontejneru s automatickým škálováním
Přihlaste se k webu Azure Portal nebo průzkumníku služby Azure Cosmos DB.
Přejděte do svého účtu služby Azure Cosmos DB a otevřete kartu Průzkumník dat.
Vyberte Nový kontejner. Zadejte název databáze, kontejneru a klíče oddílu. V části Databáze nebo propustnost kontejneru vyberte možnost Automatické škálování a nastavte maximální propustnost (RU/s), na kterou chcete databázi nebo kontejner škálovat.
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í u existující databáze nebo kontejneru
Přihlaste se k webu Azure Portal nebo průzkumníku služby Azure Cosmos DB.
Přejděte do svého účtu služby Azure Cosmos DB a otevřete kartu Průzkumník dat.
Vyberte Možnost Škálovat a Nastavení kontejneru nebo Škálovat pro vaši databázi.
V části Měřítko vyberte možnost Automatické škálování a Uložte.
Poznámka:
Když u existující databáze nebo kontejneru povolíte automatické škálování, určuje systém počáteční hodnotu maximálního počtu RU/s 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 nebo vyšší sady .NET SDK služby Azure Cosmos DB pro rozhraní API for NoSQL.
Důležité
Sadu .NET SDK můžete použít k vytvoření nových prostředků automatického škálování. 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 na webu 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 automatického škálování (RU/s)
// 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 verzi 4.0 nebo vyšší sady Java SDK služby Azure Cosmos DB pro rozhraní API for NoSQL.
Důležité
Sadu Java SDK můžete použít k vytvoření nových prostředků automatického škálování. 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 na webu 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 automatického škálování (RU/s)
// Change the autoscale max throughput (RU/s)
container.replaceThroughput(ThroughputProperties.createAutoscaledThroughput(newAutoscaleMaxThroughput)).block();
Azure Resource Manager
Šablony Azure Resource Manageru je možné použít ke zřízení propustnosti automatického škálování pro nový prostředek databáze nebo kontejneru pro všechna rozhraní API služby Azure Cosmos DB. Ukázky najdete v šablonách Azure Resource Manageru pro službu Azure Cosmos DB . Šablony Azure Resource Manageru se záměrně nedají použít k migraci mezi zřízenou propustností a propustností automatického škálování u existujícího prostředku.
Azure CLI
Azure CLI se dá použít ke zřízení propustnosti automatického škálování pro nový prostředek databáze nebo kontejneru pro všechna rozhraní API služby Azure Cosmos DB nebo povolení automatického škálování u existujícího prostředku. Ukázky najdete v ukázkách Azure CLI pro službu Azure Cosmos DB.
Azure PowerShell
Azure PowerShell se dá použít ke zřízení propustnosti automatického škálování pro nový prostředek databáze nebo kontejneru pro všechna rozhraní API služby Azure Cosmos DB nebo povolit automatické škálování u existujícího prostředku. Ukázky najdete v ukázkách Azure PowerShellu pro službu Azure Cosmos DB.
Další kroky
- Seznamte se s výhodami zřízené propustnosti s automatickým škálováním.
- Zjistěte, jak si vybrat mezi propustností ručního a automatického škálování.
- Projděte si nejčastější dotazy k automatickému škálování.