Köra en Azure-funktion med en HTTP-begäran
En HTTP-begäran är en vanlig åtgärd på de flesta plattformar och enheter. Oavsett om det är en begäran för att leta upp ett ord i en ordlista eller för att se den lokala väderleksrapporten skickar vi HTTP-begäranden hela tiden. Med Azure Functions kan vi snabbt skapa en del av en logik som körs när en HTTP-begäran tas emot.
I den här lektionen får du lära dig hur du skapar och anropar en funktion med hjälp av en HTTP-utlösare. Du kommer också att utforska några av de anpassningsalternativ som är tillgängliga för HTTP-utlösare.
Vad är en HTTP-utlösare?
En HTTP-utlösare är en utlösare som kör kod när den tar emot en HTTP-begäran. HTTP-utlösare har många funktioner och anpassningar som inkluderar:
- Ge auktoriserad åtkomst genom att ange nycklar.
- Begränsa vilka HTTP-verb som stöds.
- Returnerar data tillbaka till anroparen.
- Ta emot data via frågesträngsparametrar eller via begärandetexten.
- Stöd för URL-routningsmallar för att ändra funktions-URL:en.
När du skapar en HTTP-utlösare måste du ange ett namn för utlösaren och välja en auktoriseringsnivå.
Vad är en auktorisationsnivå för HTTP-utlösare?
En HTTP-utlösarauktoriseringsnivå är en flagga som anger om en inkommande HTTP-begäran behöver en API-nyckel för auktorisering.
Det finns tre auktorisationsnivåer:
- Funktion
- Anonym
- Administratör
Nivåerna Funktion och Admin är ”nyckelbaserade”. Om du vill skicka en HTTP-begäran måste du ange en nyckel för auktorisering. Det finns två typer av nycklar: funktion och värd. Skillnaden mellan dessa två nycklar är deras omfattning. Funktionsnycklar är specifika för en funktion. Värdnycklar gäller för alla funktioner i funktionsappen. Om din auktorisationsnivå är inställd på funktion kan du använda antingen en funktionsnyckel eller en värdnyckel. Om din auktorisationsnivå är inställd på Admin måste du använda en värdnyckel.
Viktigt!
Eftersom värdnycklar ger förhöjd åtkomst till funktionsappen måste du transportera och lagra dem på ett säkert sätt.
Nivån Anonym innebär att auktorisering inte krävs. I den här övningen används nivån Anonym auktorisering.
Så här skapar du en HTTP-utlösare
Precis som en timerutlösare kan du skapa en HTTP-utlösare via Azure-portalen. I din Azure-funktion väljer du HTTP-utlösare i listan över fördefinierade utlösartyper och anger sedan logiken som du vill köra och gör eventuella anpassningar, som att begränsa användningen av vissa HTTP-verb.
En inställning som är viktig att förstå är Parameternamn för förfrågan. Den här inställningen är en sträng som representerar namnet på den parameter som innehåller information om en inkommande HTTP-begäran. Som standard är namnet på parametern req.
Så här anropar du en HTTP-utlösare
Om du vill anropa en HTTP-utlösare skickar du en HTTP-begäran till webbadressen för din funktion. Gå till sidan med koden för din funktion och välj länken Hämta funktionswebbadress för att hämta den här webbadressen.
När du har webbadressen för funktionen kan du skicka HTTP-begäranden. Om din funktion tar emot data ska du komma ihåg att du antingen kan använda frågesträngsparametrar eller ange data via begärandetexten.
En HTTP-utlösare körs när den tar emot en HTTP-begäran till dess funktions-URL. MED HTTP-utlösare kan du ta emot data, köra logik och eventuellt returnera data tillbaka till anroparen.