Megosztás a következőn keresztül:


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

Ha használni szeretné ezt a kötéskiterjesztést az alkalmazásban, győződjön meg arról, hogy a projekt gyökerében található host.json fájl tartalmazza a extensionBundle következő hivatkozást:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

Ebben a példában az version érték [4.0.0, 5.0.0) arra utasítja a Functions-gazdagépet, hogy 4.0.0 legalább, de annál kisebb 5.0.0csomagverziót használjon, amely tartalmazza a 4.x összes lehetséges verzióját. Ez a jelölés hatékonyan fenntartja az alkalmazást a v4.x bővítménycsomag legújabb elérhető alverzióján.

Ha lehetséges, a legújabb bővítménycsomag főverziót kell használnia, és engedélyeznie kell, hogy a futtatókörnyezet automatikusan fenntartsa a legújabb alverziót. A legújabb csomag tartalmát a bővítménykötegek kiadási oldalán tekintheti meg. További információ: Azure Functions-bővítménykötegek.

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óban. A host.json fájl beállításai a függvényalkalmazás-példány összes függvényére vonatkoznak. A függvényalkalmazás konfigurációs beállításaival kapcsolatos további információkért lásd host.json Azure Functionsre vonatkozó referenciá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.
dinamikus fojtások engedélyezve 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 Prémium és 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.
előzetes betöltésLogikai érték, amely azt jelzi, hogy engedélyezve van-e a Strict-Transport-Security fejléc előbetöltési paramétere.
maximális egyidejű kérések 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 Prémium és dedikált csomagok alapértelmezett értéke a kötetlen (-1).
maximálisKimenőKérések 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 Prémium és dedikált csomagok alapértelmezett értéke a kötetlen (-1).
útvonalelőtag 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