Share via


Azure Cosmos DB-doorvoer schalen met behulp van azure Functions-timertrigger

VAN TOEPASSING OP: NoSQL

De prestaties van een Azure Cosmos DB-account zijn gebaseerd op de hoeveelheid ingerichte doorvoer uitgedrukt in aanvraageenheden per seconde (RU/s). De inrichting heeft een tweede granulariteit en wordt gefactureerd op basis van de hoogste RU/s per uur. Met dit ingerichte capaciteitsmodel kan de service een voorspelbare en consistente doorvoer, gegarandeerde lage latentie en hoge beschikbaarheid bieden. De meeste productieworkloads deze functies. In ontwikkel- en testomgevingen waarin Azure Cosmos DB alleen tijdens werkuren wordt gebruikt, kunt u de doorvoer 's ochtends omhoog schalen en 's avonds weer omlaag schalen na kantooruren.

U kunt de doorvoer instellen via Azure Resource Manager-sjablonen, Azure CLI en PowerShell, voor API voor NoSQL-accounts of met behulp van de taalspecifieke Azure Cosmos DB SDK's. Het voordeel van het gebruik van Resource Manager-sjablonen, Azure CLI of PowerShell is dat ze alle Azure Cosmos DB-model-API's ondersteunen.

Voorbeeldproject doorvoerplanner

Ter vereenvoudiging van het proces voor het schalen van Azure Cosmos DB volgens een schema hebben we een voorbeeldproject gemaakt met de naam Azure Cosmos DB-doorvoerplanner. Dit project is een Azure Functions-app met twee timertriggers: ScaleUpTrigger en ScaleDownTrigger. De triggers voeren een PowerShell-script uit waarmee de doorvoer voor elke resource wordt ingesteld zoals gedefinieerd in het resources.json bestand in elke trigger. De ScaleUpTrigger is geconfigureerd voor uitvoering om 8:00 UUR UTC en de ScaleDownTrigger is geconfigureerd om om 18:00 uur UTC uit te voeren en deze tijden kunnen eenvoudig worden bijgewerkt in het function.json bestand voor elke trigger.

U kunt dit project lokaal klonen, wijzigen om de Azure Cosmos DB-resources op te geven om omhoog en omlaag te schalen en de planning die moet worden uitgevoerd. Later kunt u het implementeren in een Azure-abonnement en beveiligen met behulp van beheerde service-identiteit met op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) met de rol 'Azure Cosmos DB-operator' om doorvoer in te stellen voor uw Azure Cosmos DB-accounts.

Volgende stappen