Ö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 filen host.json 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 Sant* 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. Standardvärdet i en dedikerad plan är false.
hsts inte aktiverat När isEnabled är inställt på truetillä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:
Propertybeskrivning
excludedHostsEn strängmatris med värdnamn som HSTS-huvudet inte läggs till för.
includeSubDomainsBooleskt värde som anger om parametern includeSubDomain i rubriken Strict-Transport-Security är aktiverad.
maxAgeSträng som definierar parametern max-age i rubriken Strict-Transport-Security.
PreloadBooleskt värde som anger om förinläsningsparametern för rubriken Strict-Transport-Security är aktiverad.
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 en dedikerad plan ä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 en dedikerad plan ä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.

Nästa steg