Az Azure Functions HTTP-eseményindítóinak és kötéseinek áttekintése

Az Azure Functions http-kérésekkel hívható meg kiszolgáló nélküli API-k létrehozásához és a webhookokra való válaszadáshoz.

Művelet Típus
Függvény futtatása HTTP-kérelemből Eseményindító
HTTP-válasz visszaadása függvényből Kimeneti kötés

A bővítmény telepítése

A telepített NuGet-csomag a függvényalkalmazásban használt C# módtól függ:

A függvények izolált C# feldolgozói folyamatban futnak. További információ: Útmutató a C# Azure Functions izolált feldolgozói folyamatban való futtatásához.

A bővítmény funkciói a bővítmény verziójától függően változnak:

Adja hozzá a bővítményt a projekthez a NuGet-csomag 3.x-es verziójának telepítésével.

Feljegyzés

További bővítménycsomagra van szükség a .NET Izolált ASP.NET Core integrációjához

Csomag telepítése

A Functions 2.x-es verziójától kezdve a HTTP-bővítmény egy bővítménycsomag része, amely a host.json projektfájlban van megadva. További információkért tekintse meg a bővítménycsomagot.

A bővítmény ezen verziójának már elérhetőnek kell lennie a függvényalkalmazás számára a 2.x verziójú bővítménycsomaggal.

host.json beállítások

Ez a szakasz a kötéshez elérhető konfigurációs beállításokat ismerteti a 2.x és újabb verziókban. Gépház a host.json fájlban egy függvényalkalmazás-példány összes függvényére vonatkozik. Az alábbi példában host.json fájl csak a kötés 2.x+ verziójának beállításait tartalmazza. A függvényalkalmazások konfigurációs beállításairól a 2.x és újabb verziókban host.json Azure Functionsre vonatkozó hivatkozásban talál további információt.

Feljegyzés

A Host.json a Functions 1.x-ben az Azure Functions 1.x host.json referenciájában talál.

{
    "extensions": {
        "http": {
            "routePrefix": "api",
            "maxOutstandingRequests": 200,
            "maxConcurrentRequests": 100,
            "dynamicThrottlesEnabled": true,
            "hsts": {
                "isEnabled": true,
                "maxAge": "10"
            },
            "customHeaders": {
                "X-Content-Type-Options": "nosniff"
            }
        }
    }
}
Tulajdonság Alapértelmezett Leírás
customHeaders Nincs Lehetővé teszi egyéni fejlécek beállítását a HTTP-válaszban. Az előző példa hozzáadja a X-Content-Type-Options fejlécet a válaszhoz, hogy elkerülje a tartalomtípus-sniffinget. Ez az egyéni fejléc a függvényalkalmazás összes HTTP-aktivált függvényére vonatkozik.
dynamicThrottlesEnabled Igaz* Ha engedélyezve van, ez a beállítás azt eredményezi, hogy a kérelemfeldolgozási folyamat rendszeres időközönként ellenőrzi a rendszer teljesítményszámlálóit, például connections/threads/processes/memory/cpu/etc ha bármelyik számláló egy beépített magas küszöbértéken (80%) van túl, a kéréseket a rendszer válaszsal 429 "Too Busy" elutasítja, amíg a számláló(k) vissza nem térnek a normál szintre.
*A használatalapú csomagok alapértelmezett értéke a következő true: . A dedikált csomagok alapértelmezett értéke a false.
hsts nincs engedélyezve Ha isEnabled be van állítva true, a .NET Core HTTP Strict Transport Security (HSTS) viselkedése lesz kényszerítve az HstsOptions osztályban meghatározott módon. A fenti példa a maxAge tulajdonságot is 10 napra állítja. A támogatott tulajdonságok a hsts következők:
TulajdonságLeírás
excludedHostsOlyan gazdagépnevek sztringtömbje, amelyhez a HSTS-fejléc nincs hozzáadva.
includeSubDomainsLogikai érték, amely jelzi, hogy engedélyezve van-e a Strict-Transport-Security fejléc includeSubDomain paramétere.
maxAgeA Strict-Transport-Security fejléc maximális életkori paraméterét meghatározó sztring.
PreloadLogikai érték, amely azt jelzi, hogy engedélyezve van-e a Strict-Transport-Security fejléc előbetöltési paramétere.
maxConcurrentRequests 100* A párhuzamosan végrehajtott HTTP-függvények maximális száma. Ez az érték lehetővé teszi az egyidejűség szabályozását, ami segíthet az erőforrások kihasználtságának kezelésében. Előfordulhat például, hogy egy HTTP-függvény nagy mennyiségű rendszererőforrást (memóriát/processzort/szoftvercsatornát) használ, ami problémákat okoz, ha az egyidejűség túl magas. Vagy rendelkezhet olyan függvénnyel, amely külső szolgáltatás felé irányuló kimenő kéréseket küld, és ezeknek a hívásoknak korlátozottnak kell lenniük. Ezekben az esetekben a szabályozás alkalmazása segíthet.
*A használatalapú csomagok alapértelmezett értéke 100. A dedikált csomagok alapértelmezett értéke nem kötött (-1).
maxOutstandingRequests 200* Az adott időpontban lekérhető kérelmek maximális száma. Ez a korlát magában foglalja azokat a kérelmeket, amelyek várólistára kerülnek, de még nem kezdtek el végrehajtást végrehajtani, valamint a folyamatban lévő végrehajtásokat is. A korláton túli bejövő kérelmeket a rendszer 429 "Túl elfoglalt" válaszsal utasítja el. Ez lehetővé teszi a hívók számára, hogy időalapú újrapróbálkozásokra vonatkozó stratégiákat alkalmazzanak, és lehetővé teszik a kérelmek maximális késésének szabályozását is. Ez csak a parancsprogram-gazdagép végrehajtási útvonalán belüli sorba állítást szabályozza. Más várólisták (például az ASP.NET-kérésvárólista) továbbra is érvényben maradnak, és ez a beállítás nem érinti őket.
*A használatalapú csomagok alapértelmezett értéke 200. A dedikált csomagok alapértelmezett értéke nem kötött (-1).
routePrefix api Az összes útvonalra érvényes útvonalelőtag. Az alapértelmezett előtag eltávolításához használjon üres sztringet.

Következő lépések