Översikt över HTTP-utlösare och bindningar för Azure Functions
Azure Functions kan anropas via HTTP-begäranden för att skapa serverlösa API:er och svara på webhooks.
Åtgärd | Typ |
---|---|
Köra en funktion från en HTTP-begäran | Utlösare |
Returnera ett HTTP-svar från en funktion | Utdatabindning |
Installera tillägget
Vilket NuGet-tilläggspaket du installerar beror på vilket C#-läge du använder i funktionsappen:
Funktioner körs i en isolerad C#-arbetsprocess. Mer information finns i Guide för att köra C# Azure Functions i en isolerad arbetsprocess.
Funktionerna i tillägget varierar beroende på tilläggsversionen:
Lägg till tillägget i projektet genom att installera NuGet-paketet version 3.x.
Kommentar
Ytterligare ett tilläggspaket krävs för ASP.NET Core-integrering i .NET Isolated
Installera paket
Från och med Functions version 2.x är HTTP-tillägget en del av ett tilläggspaket som anges i din host.json projektfil. Mer information finns i tilläggspaketet.
Den här versionen av tillägget bör redan vara tillgänglig för funktionsappen med tilläggspaketet version 2.x.
host.json inställningar
I det här avsnittet beskrivs de konfigurationsinställningar som är tillgängliga för den här bindningen i version 2.x och senare. Inställningar i host.json-filen gäller för alla funktioner i en funktionsappinstans. Exemplet host.json filen nedan innehåller endast version 2.x+-inställningarna för den här bindningen. Mer information om konfigurationsinställningar för funktionsappar i version 2.x och senare versioner finns i host.json referens för Azure Functions.
Kommentar
En referens för host.json i Functions 1.x finns i host.json referens för Azure Functions 1.x.
{
"extensions": {
"http": {
"routePrefix": "api",
"maxOutstandingRequests": 200,
"maxConcurrentRequests": 100,
"dynamicThrottlesEnabled": true,
"hsts": {
"isEnabled": true,
"maxAge": "10"
},
"customHeaders": {
"X-Content-Type-Options": "nosniff"
}
}
}
}
Property | Standardvärde | beskrivning | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
customHeaders | inget | Gör att du kan ange anpassade rubriker i HTTP-svaret. I föregående exempel läggs X-Content-Type-Options rubriken till i svaret för att undvika att innehållstypen sniffas. Det här anpassade huvudet gäller för alla HTTP-utlösta funktioner i funktionsappen. |
||||||||||
dynamicThrottlesEnabled | sann* | När den här inställningen är aktiverad kommer pipelinen för bearbetning av begäranden att regelbundet kontrollera systemprestandaräknare som connections/threads/processes/memory/cpu/etc och om någon av dessa räknare överskrider ett inbyggt högt tröskelvärde (80 %), avvisas begäranden med ett 429 "Too Busy" svar tills räknarna återgår till normala nivåer.*Standardvärdet i en förbrukningsplan är true . Standardinställningen i Premium- och Dedicated-abonnemangen är false . |
||||||||||
hsts | inte aktiverat | När isEnabled är inställt på true tillämpas HSTS-beteendet (HTTP Strict Transport Security) för .NET Core enligt definitionen i HstsOptions klassen. Exemplet ovan anger maxAge också egenskapen till 10 dagar. Egenskaper som stöds för hsts är:
|
||||||||||
maxConcurrentRequests | 100* | Det maximala antalet HTTP-funktioner som körs parallellt. Med det här värdet kan du styra samtidighet, vilket kan hjälpa dig att hantera resursutnyttjande. Du kan till exempel ha en HTTP-funktion som använder ett stort antal systemresurser (minne/cpu/sockets) så att den orsakar problem när samtidigheten är för hög. Eller så kan du ha en funktion som gör utgående begäranden till en tjänst från tredje part, och dessa anrop måste vara frekvensbegränsade. I dessa fall kan det vara till hjälp att tillämpa en begränsning här. *Standardvärdet för en förbrukningsplan är 100. Standardvärdet för Premium- och Dedicated-abonnemangen är obundet ( -1 ). |
||||||||||
maxOutstandingRequests | 200* | Det maximala antalet utestående begäranden som hålls vid en viss tidpunkt. Den här gränsen omfattar begäranden som är i kö men som inte har börjat köras, samt pågående körningar. Inkommande begäranden över den här gränsen avvisas med ett svar på 429 "För upptagen". Det gör det möjligt för anropare att använda tidsbaserade återförsöksstrategier och hjälper dig också att kontrollera maximala svarstider för begäranden. Detta styr bara köer som inträffar inom skriptvärdens körningssökväg. Andra köer, till exempel ASP.NET-begärandekön, gäller fortfarande och påverkas inte av den här inställningen. *Standardvärdet för en förbrukningsplan är 200. Standardvärdet för Premium- och Dedicated-abonnemangen är obundet ( -1 ). |
||||||||||
routePrefix | api | Routningsprefixet som gäller för alla vägar. Använd en tom sträng för att ta bort standardprefixet. |