AZURE FUNCTIONS HTTP-eseményindítók és kötések áttekintése

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

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

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

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

A függvények ugyanabban a folyamatban futnak, mint a Functions-gazdagép. További információ: C# osztálykódtárfüggvények fejlesztése Azure Functions használatával.

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 3.x-es verziójának telepítésével.

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ó: bővítménycsomag.

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 bővítménycsomag 2.x-es verziójával.

host.json beállításai

Ez a szakasz a kötéshez elérhető konfigurációs beállításokat ismerteti a 2.x és újabb verziókban. A host.json fájl beállításai a függvényalkalmazás-példányok összes függvényére vonatkoznak. Az alábbi példagazda.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 a host.json-referencia a Azure Functions című témakörben talál további információt.

Megjegyzés

A host.json függvények 1.x-ben való hivatkozását lásd: host.json-referencia az 1.x Azure Functions.

{
    "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 Description
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-beszennyezést. 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érésfeldolgozá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 és 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ú csomagokban az alapértelmezett érték a .true A dedikált csomagokban az alapértelmezett érték a .false
hsts nincs engedélyezve Ha isEnabled a értékre truevan állítva, a rendszer kikényszeríti a .NET Core HTTP Strict Transport Security (HSTS) viselkedését 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 azt jelzi, hogy engedélyezve van-e a Strict-Transport-Security fejléc includeSubDomain paramétere.
maxAgeA Strict-Transport-Security fejléc max-age paraméterét meghatározó sztring.
preloadLogikai érték, amely azt jelzi, hogy engedélyezve van-e a Strict-Transport-Security fejléc előretö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 olyan HTTP-függvénye van, amely nagy számú rendszererőforrást (memóriát/processzort/szoftvercsatornát) használ, és ez problémákat okoz, ha az egyidejűség túl magas. Vagy rendelkezhet egy olyan függvénnyel, amely kimenő kéréseket küld egy külső szolgáltatásnak, é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 a kötetlen (-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éréseket, amelyek várólistán vannak, de még nem kezdték meg a végrehajtást, 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 elutasítja. Ez lehetővé teszi, hogy a hívók időalapú újrapróbálkozás-stratégiákat alkalmazzanak, és segít a kérések maximális késésének szabályozásában is. Ez csak a parancsprogram-gazdagép végrehajtási útvonalán belül előforduló sorbasorolást szabályozza. Az egyéb üzenetsorok, például a ASP.NET kéréssor továbbra is érvényben maradnak, és nem érintik ezt a beállítást.
*A használati csomagok alapértelmezett értéke 200. A dedikált csomagok alapértelmezett értéke a kötetlen (-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