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:
|
||||||||||
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. |