Dela via


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

GÄLLER FÖR: NoSQL

Prestandan för ett Azure Cosmos DB-konto baseras på mängden etablerat dataflöde som uttrycks i enheter för programbegäran per sekund (RU/s). Etableringen har en andra kornighet och faktureras baserat på den högsta RU/s per timme. Med den här etablerade kapacitetsmodellen kan tjänsten 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ödesschemaläggare

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-dataflödesschemaläggare. 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 azure-behörigheter för rollbaserad åtkomstkontroll (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