Köra en Azure-funktion när en blob skapas
Tänk dig att du är fotograf och du har en webbplats som visar dina bilder av dagen. Eftersom du är upptagen kan du har inte ett konsekvent uppladdningsschema, men du vill meddela dina följare när du laddar upp en ny bild. Du vill skapa en Azure-funktion för att automatiskt skicka en tweet när du laddar upp en bild till din Azure Storage blobcontainer.
Här får du lära dig hur du skapar en blobutlösare och instruerar den att övervaka en specifik plats i din Azure Storage-blobcontainer.
Vad är Azure Storage?
Azure Storage är Microsofts molnlagringslösning som har stöd för alla typer av data, inklusive: blobar, köer och NoSQL. Målet med Azure Storage är att tillhandahålla lagring av data som kännetecknas av:
- Högt tillgänglighet
- Säkra
- Skalbarhet
- Hanterade
Vi kommer inte att fokusera på Azure Storage för mycket. I stället använder vi den för att skapa blobar som ska utlösa vår funktion.
Vad är Azure Blob Storage?
Azure Blob Storage är en objektlagringslösning som är utformad för att lagra stora mängder ostrukturerade data.
Azure Blob Storage är till exempel bra för att göra saker som att:
- Lagra filer
- Tillhandahålla filer
- Direktuppspela video och ljud
- Logga data
Det finns tre typer av blobar: Blockblobar, bilageblobar och sidblobar. Blockblobar är de vanligaste. De gör det möjligt att lagra text eller binära data på ett effektivt sätt. Tilläggsblobar är som blockblobar, men de är mer utformade för tilläggsåtgärder som att skapa en loggfil som uppdateras kontinuerligt. Slutligen består sidblobar av sidor och är utformade för frekventa icke-sekventiella läs- och skrivåtgärder.
Vad är en blob-utlösare?
En blobutlösare är en utlösare som kör en funktion när du laddar upp eller uppdaterar en fil i Azure Blob Storage. Funktioner kontrollerar regelbundet en lagringscontainer efter ändringar, vilket kan leda till viss svarstid. Det finns sätt att minska den här svarstiden när du utlöser blobcontainrar.
Om du vill skapa en blob-utlösare skapar du ett Azure Storage-konto och anger en plats som utlösaren ska övervaka.
Så här skapar du en blob-utlösare
Precis som de andra utlösarna som vi har sett hittills kan du skapa en blobutlösare i Azure Portal. I din Azure-funktion väljer du Blob-utlösare från listan över fördefinierade utlösartyper. Ange sedan den logik som du vill köra när en blob skapas eller uppdateras.
En inställning som är viktig att förstå är Sökvägen. Sökvägen talar om för blobutlösaren vilken blobcontainer som ska övervakas för att se om en blob laddas upp eller uppdateras. Som standard är värdet för Sökväg:
samples-workitems/{name}
Vi kan dela upp det här begreppet i två delar: samples-workitems och {name}. Den första delen, samples-workitems, representerar den blobcontainer som utlösaren övervakar. Den andra delen, {name} , innebär att alla filtyper får utlösaren att anropa funktionen. Funktionen anropas eftersom det inte finns något filter. Vi skulle till exempel kunna göra så att utlösaren endast anropar funktionen när en PNG-fil läggs till med hjälp av en syntax som:
samples-workitems/{name}.png
Den sista viktiga informationen för det här konceptet är textnamnet. Namn representerar en parameter i din Azure-funktion som tar emot namnet på den tillagda filen. Om vi till exempel laddar upp en fil med namnet resume.txt tar Azure-funktionen emot det värdet som en sträng via en parameter som kallas namn.
En blob-utlösare anropar en Azure-funktion när den ser aktivitet på en viss plats i Azure Storage blob-kontot. Du kan ange platsen som ska övervakas genom att ändra värdet Sökväg i Azure-portalen.