Sdílet prostřednictvím


Přehled triggerů a vazeb HTTP služby Azure Functions

Služba Azure Functions se může vyvolat prostřednictvím požadavků HTTP, aby se sestavily bezserverová rozhraní API a reagovaly na webhooky.

Akce Typ
Spuštění funkce z požadavku HTTP Trigger
Vrácení odpovědi HTTP z funkce Výstupní vazba

Instalace rozšíření

Balíček NuGet rozšíření, který nainstalujete, závisí na režimu jazyka C#, který používáte ve své aplikaci funkcí:

Funkce se spouštějí v izolovaném pracovním procesu C#. Další informace najdete v průvodci spuštěním služby Azure Functions v jazyce C# v izolovaném pracovním procesu.

Funkce rozšíření se liší v závislosti na verzi rozšíření:

Přidejte rozšíření do projektu instalací balíčku NuGet verze 3.x.

Poznámka:

Pro integraci ASP.NET Core v izolovaném prostředí .NET je potřeba další balíček rozšíření.

Instalace sady

Počínaje funkcí verze 2.x je rozšíření HTTP součástí sady rozšíření, která je zadaná v souboru projektu host.json. Další informace najdete v sadě rozšíření.

Tato verze rozšíření by už měla být dostupná pro vaši aplikaci funkcí s sadou rozšíření verze 2.x.

nastavení host.json

Tato část popisuje nastavení konfigurace dostupné pro tuto vazbu ve verzích 2.x a novějších. Nastavení v souboru host.json platí pro všechny funkce v instanci aplikace funkcí. Následující příklad host.json souboru obsahuje pouze nastavení verze 2.x+ pro tuto vazbu. Další informace o nastavení konfigurace aplikace funkcí ve verzích 2.x a novějších verzích najdete v host.json referenčních informacích ke službě Azure Functions.

Poznámka:

Referenční informace o host.json ve službě Functions 1.x najdete v host.json referenčních informacích ke službě 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"
            }
        }
    }
}
Vlastnost Výchozí Popis
customHeaders Žádná Umožňuje nastavit vlastní hlavičky v odpovědi HTTP. Předchozí příklad přidá hlavičku X-Content-Type-Options do odpovědi, aby se zabránilo zašifrování typu obsahu. Tato vlastní hlavička se vztahuje na všechny funkce aktivované protokolem HTTP v aplikaci funkcí.
dynamicThrottlesEnabled pravdivý* Pokud je tato možnost povolená, způsobí to, že kanál zpracování požadavků bude pravidelně kontrolovat čítače výkonu systému, jako connections/threads/processes/memory/cpu/etc je některý z těchto čítačů, a pokud některý z těchto čítačů překročí integrovanou vysokou prahovou hodnotu (80 %), požadavky budou odmítnuty s 429 "Too Busy" odpovědí, dokud se čítače nevrátí na normální úrovně.
*Výchozí hodnota v plánu Consumption je true. Výchozí hodnota v plánech Premium a Dedicated je false.
hsts nepovoleno Pokud isEnabled je nastavena na true, chování http Strict Transport Security (HSTS) rozhraní .NET Core je vynuceno, jak je definováno HstsOptions ve třídě. Výše uvedený příklad také nastaví maxAge vlastnost na 10 dní. Podporované vlastnosti hsts jsou:
VlastnostPopis
excludedHostsPole řetězců názvů hostitelů, pro které není přidána hlavička HSTS.
includeSubDomainsLogická hodnota, která označuje, zda je povolen parametr includeSubDomain hlavičky Strict-Transport-Security.
maxAgeŘetězec, který definuje parametr max-age hlavičky Strict-Transport-Security.
předběžné načteníLogická hodnota označující, jestli je povolený parametr předběžného načtení hlavičky Strict-Transport-Security.
maxConcurrentRequests 100* Maximální počet paralelně spuštěných funkcí HTTP. Tato hodnota umožňuje řídit souběžnost, což může pomoct se správou využití prostředků. Můžete mít například funkci HTTP, která používá velký počet systémových prostředků (paměti, procesoru nebo soketů), které způsobují problémy, když je souběžnost příliš vysoká. Nebo můžete mít funkci, která provádí odchozí požadavky na službu třetí strany a tato volání musí být omezená rychlostí. V takových případech může pomoct implementace omezování.
*Výchozí hodnota pro plán Consumption je 100. Výchozí hodnota pro plány Premium a Dedicated je nevázaná (-1).
maxOutstandingRequests 200* Maximální počet nevyřízených žádostí, které se v daném okamžiku uchovávají. Tento limit zahrnuje požadavky, které jsou zařazené do fronty, ale nespustily se, ani probíhající provádění. Všechny příchozí požadavky nad tímto limitem jsou odmítnuty s odpovědí 429 "Příliš zaneprázdněné". To umožňuje volajícím využívat strategie opakování na základě času a také pomáhá řídit maximální latenci požadavků. To řídí pouze řízení fronty, ke kterému dochází v rámci cesty spuštění hostitele skriptu. Ostatní fronty, jako je fronta požadavků ASP.NET, budou dál platit a toto nastavení na ně nebude mít vliv.
*Výchozí hodnota pro plán Consumption je 200. Výchozí hodnota pro plány Premium a Dedicated je nevázaná (-1).
routePrefix api Předpona trasy, která se vztahuje na všechny trasy. K odebrání výchozí předpony použijte prázdný řetězec.

Další kroky