Dela via


Etablera dataflöde för automatisk skalning för Azure Cosmos DB för NoSQL

Den här artikeln beskriver hur du aktiverar autoskalning av genomströmning för en databas eller container (samling, graf eller tabell) i Azure Cosmos DB för NoSQL. Du kan aktivera autoskalning på en enda container eller etablera autoskalningsdataflöde i en databas och dela det mellan alla containrar i databasen.

Om du använder ett annat API kan du läsa API för MongoDB, API för Cassandra eller API för Gremlin.

Azure Portal

Skapa ny databas eller container med autoskalning

  1. Logga in på Azure-portalen eller Azure Cosmos DB-utforskaren.

  2. Gå till ditt Azure Cosmos DB-konto och öppna fliken Datautforskaren .

  3. Välj Ny container. Ange ett namn för databasen, containern och en partitionsnyckel.

  4. Under databas- eller containerdataflöde väljer du alternativet Autoskalning och anger det maximala dataflöde (RU/s) som du vill att databasen eller containern ska skalas till.

    Skärmbild som visar inställningarna för att skapa en container och konfigurera automatiskt etablerat dataflöde.

  5. Välj OK.

Om du vill etablera autoskalning på databasen för delat dataflöde väljer du alternativet Etablera databasdataflöde när du skapar en ny databas.

Anteckning

Att ange dataflöde på databasnivå rekommenderas endast för utveckling/test eller när arbetsbelastningen i alla containrar i databasen för delat dataflöde är enhetlig. För bästa prestanda för stora produktionsarbetsbelastningar rekommenderar vi att du anger dedikerat dataflöde (autoskalning eller manuell) på containernivå och inte på databasnivå.

Aktivera autoskalning för befintlig databas eller container

  1. Logga in på Azure-portalen eller Azure Cosmos DB-utforskaren.

  2. Gå till ditt Azure Cosmos DB-konto och öppna fliken Datautforskaren .

  3. Välj Skala och inställningar för containern eller Skala för databasen.

  4. Under Skala väljer du alternativet Autoskalning och Spara.

    Skärmbild av inställningar för att aktivera autoskalning på en befintlig container.

Anteckning

När du aktiverar autoskalning i en befintlig databas eller container bestäms startvärdet för max RU/s av systemet, baserat på dina aktuella manuella etablerade dataflödesinställningar och lagring. När åtgärden är klar kan du ändra maximalt antal RU/s om det behövs. Mer information finns i Vanliga frågor och svar om autoskalning med tilldelad dataflödeskapacitet.

SDKs

Använd följande SDK:er för att hantera resurser för automatisk skalning:

Skapa databas med delat dataflöde

Anteckning

Att ange dataflöde på databasnivå rekommenderas endast för utveckling/test eller när arbetsbelastningen i alla containrar i databasen för delat dataflöde är enhetlig. För bästa prestanda för stora produktionsarbetsbelastningar rekommenderar vi att du anger dedikerat dataflöde (autoskalning eller manuell) på containernivå och inte på databasnivå.

Använd version 3.9 eller senare av Azure Cosmos DB .NET SDK för API för NoSQL för att hantera autoskalningsresurser.

Viktigt!

Du kan använda .NET SDK för att skapa nya autoskalningsresurser. SDK stöder inte migrering mellan autoskalning och standard (manuell) genomströmning. Migreringsscenariot stöds för närvarande endast i Azure Portal, CLI och PowerShell.

Anteckning

När du aktiverar autoskalning i en befintlig databas eller container bestäms startvärdet för max RU/s av systemet, baserat på dina aktuella manuella etablerade dataflödesinställningar och lagring. När åtgärden är klar kan du ändra maximalt antal RU/s om det behövs. Mer information finns i Vanliga frågor och svar om autoskalning med tilldelad dataflödeskapacitet.

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

Skapa container med dedikerat dataflöde

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

Läs den aktuella genomströmningen (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;

Ändra maximalt dataflöde för autoskalning (RU/s)

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

Azure Resource Manager

Azure Resource Manager-mallar kan användas för att etablera dataflöde för automatisk skalning på en ny databas eller resurs på containernivå för alla Azure Cosmos DB-API:er. Exempel finns i Azure Resource Manager-mallar för Azure Cosmos DB.

Det går inte att använda Azure Resource Manager-mallar för att migrera mellan förutbestämt dataflöde och autoskalningsflöde på en befintlig resurs.

Azure CLI

Azure CLI kan användas för att etablera autoskalningsdataflöde på en ny databas eller resurs på containernivå för alla Azure Cosmos DB-API:er eller för att aktivera autoskalning på en befintlig resurs.

Azure PowerShell

Azure PowerShell kan användas för att etablera autoskalningsdataflöde på en ny databas eller resurs på containernivå för alla Azure Cosmos DB-API:er eller för att aktivera autoskalning på en befintlig resurs.

Nästa steg