Skala Azure Cosmos DB-dataflöde med hjälp av Azure Functions Timer-utlösare

GÄLLER FÖR: NoSQL

Prestanda för ett Azure Cosmos DB-konto baseras på mängden etablerat dataflöde uttryckt i enheter för programbegäran per sekund (RU/s). Etableringen har en andra kornighet och faktureras baserat på högsta RU/s per timme. Den här etablerade kapacitetsmodellen gör det möjligt för tjänsten att tillhandahålla ett förutsägbart och konsekvent dataflöde, garanterad låg svarstid och hög tillgänglighet. De flesta produktionsarbetsbelastningar har dessa funktioner. I utvecklings- och testmiljöer där Azure Cosmos DB endast används under arbetstid kan du dock skala upp dataflödet på morgonen och skala ned igen på kvällen efter arbetstid.

Du kan ange dataflödet via Azure Resource Manager-mallar, Azure CLI och PowerShell, för API för NoSQL-konton eller med hjälp av språkspecifika Azure Cosmos DB-SDK:er. Fördelen med att använda Resource Manager-mallar, Azure CLI eller PowerShell är att de stöder alla Azure Cosmos DB-modell-API:er.

Exempelprojekt för dataflödesschema

För att förenkla processen för att skala Azure Cosmos DB enligt ett schema har vi skapat ett exempelprojekt med namnet Azure Cosmos DB throughput scheduler. Det här projektet är en Azure Functions app med två timerutlösare– "ScaleUpTrigger" och "ScaleDownTrigger". Utlösarna kör ett PowerShell-skript som anger dataflödet för varje resurs enligt definitionen i resources.json filen i varje utlösare. ScaleUpTrigger är konfigurerad att köras kl. 08.00 UTC och ScaleDownTrigger är konfigurerad att köras kl. 18.00 UTC och dessa tider kan enkelt uppdateras i function.json filen för varje utlösare.

Du kan klona det här projektet lokalt, ändra det för att ange Azure Cosmos DB-resurserna för att skala upp och ned och schemat som ska köras. Senare kan du distribuera den i en Azure-prenumeration och skydda den med hjälp av hanterad tjänstidentitet med rollbaserad åtkomstkontroll i Azure (Azure RBAC) med rollen "Azure Cosmos DB-operatör" för att ange dataflöde för dina Azure Cosmos DB-konton.

Nästa steg