Vad är Azure Functions?
- 3 minuter
Azure Functions är en molnbaserad beräkningstjänst som tillhandahåller händelsedriven och skalbar serverlös beräkning för Azure. I vissa fall debiteras du bara för den tid som funktionskoden körs.
Du kan använda Azure Functions för att köra koden när du behöver den för att köra den. Din kod kan till exempel köras som ett resultat av en händelse eller ändring, till exempel när ett meddelande tas emot i en kö eller när ett lagrat objekt uppdateras. Du kan också definiera ett schemalagt intervall som koden ska köras med hjälp cron av regler.
Använda utlösare för att bestämma när kod ska köras
Med Azure Functions kan du definiera utlösare som startar körningen av koden. Utlösare kan också bearbeta indata för att skicka data till dina funktioner. Varje funktion kan bara ha en utlösare. Några av de utlösartyper som stöds av Azure-funktioner är:
- Lagring: Du kan lyssna efter händelser från databaser som Azure Cosmos DB. Till exempel när en ny rad infogas.
- Händelser: Event Grid och Event Hubs skapar händelser som kan utlösa din kod.
- HTTP-kod: Webbbegäranden och webhooks kan utlösa HTTP-kod.
- Köer: Kömeddelanden kan också bearbetas.
- Timer: Anropa kod baserat på ett angivet tidsintervall.
Använda bindningar för att ansluta till datakällor
Bindningar är ett sätt att förenkla kodningen för indata och utdata. Du kan använda en klient-SDK för att ansluta till tjänster från funktionskoden, men Azure Functions tillhandahåller bindningar för att förenkla dessa anslutningar. Bindningar är i princip anslutningskod som du inte behöver skriva. Du kan integrera med många tjänster i Azure och lösa integreringsproblem och automatisera affärsprocesser.
Bindningar finns i två varianter, indata och utdata. En utdatabindning ger ett sätt att skriva data till datamålet, till exempel att placera ett meddelande i en kö eller en ny rad i en databas. En indatabindning kan användas för att skicka data till din funktion från en annan datakälla än den som utlöste funktionen.
Funktioner
Det finns några funktioner som gör Azure Functions till ett övertygande val:
- Flexibla värdplaner. Det finns tre olika värdplaner som passar dina affärsbehov. - Förbrukningsplan. Ett fullständigt serverlöst värdalternativ för Functions. Funktioner skalas automatiskt och du betalar endast för beräkningsresurser när dina funktioner körs. Den här planen ger kostnadseffektiv beräkning för korta processarbetsbelastningar som tenderar att vara mer tillfälliga med mindre förutsägbara belastningar.
- Premium-plan. I den här planen hålls dina funktioner initierade, vilket innebär att det inte finns någon fördröjning när du har varit inaktiv. Premium-planen är en bra plan för att välja när funktionsappen ska köras under längre perioder, men du behöver fortfarande den dynamiska skalan. Med den här planen kan du också börja skala med fler resurser snabbare än med förbrukningsplanen. I förbrukningsplanen finns det också gränser för körningstiden, som den här planen kan ersätta. Även om du fortfarande får kostnadsfördelarna med dynamisk skala betalar du mer.
- Dedikerad plan. Du kör dina funktioner med en vanlig App Service-plan. Det är bäst för scenarier där dina funktioner måste köras kontinuerligt. En annan fördel är att du helt styr hur appen skalar och enklare kan förutsäga kostnader. En dedikerad plan är också ett bra val när du har en befintlig men underutnyttad App Service-plan tillgänglig.
 
- Dynamisk skalning. I de flesta planer skalas funktioner dynamiskt baserat på belastning. När efterfrågan på körning ökar allokeras fler resurser automatiskt till tjänsten och när begäranden faller släpps resurser och programinstanser automatiskt. I Förbrukningsplan betalar du inte alls för inaktiva funktioner. 
- Händelsebaserad arkitektur. Funktioner är avsedda att vara små och fokuserade. De bearbetar inkommande data och görs eller skapar en ny händelse i tur och ordning. Några vanliga användningsområden för Azure-funktioner är att skicka e-postmeddelanden, starta säkerhetskopiering, orderbearbetning, schemalägga uppgifter, till exempel rensa databaser, skicka meddelanden, meddelanden och IoT-databehandling.