Ruční spuštění funkce neaktivované protokolem HTTP
Tento článek ukazuje, jak ručně spustit funkci neaktivovanou protokolem HTTP prostřednictvím speciálně naformátovaného požadavku HTTP.
V některých kontextech, jako je například během vývoje a řešení potíží, možná budete muset spustit funkci Azure Na vyžádání, která se nepřímo aktivuje. Mezi příklady nepřímých triggerů patří funkce podle plánu nebo funkcí, které se spouští jako výsledek událostí.
Nástroj Postman se používá v následujícím příkladu, ale k odesílání požadavků HTTP můžete použít cURL, Fiddler nebo jakýkoli jiný nástroj.
Postup popsaný v tomto článku je ekvivalentem použití funkce Test/Run na kartě Kód a testování funkce na webu Azure Portal. Pomocí editoru Visual Studio Code můžete také ručně spouštět funkce.
Definování umístění požadavku
Pokud chcete spustit funkci, která není aktivovaná protokolem HTTP, potřebujete způsob, jak odeslat požadavek do Azure ke spuštění funkce. Adresa URL použitá k provedení tohoto požadavku má konkrétní formulář.
- Název hostitele: Veřejné umístění aplikace funkcí, které se skládá z názvu aplikace funkcí a azurewebsites.net nebo vlastní domény. Když pracujete se sloty nasazení používanými k přípravě, část názvu hostitele je název produkčního hostitele s připojeným
-<slotname>
k němu. V předchozím příkladu by adresa URL bylamyfunctiondemos-staging.azurewebsites.net
pro slot s názvemstaging
. - Cesta ke složce: Pokud chcete získat přístup k neaktivovaným funkcím http prostřednictvím požadavku HTTP, musíte požadavek odeslat prostřednictvím cesty
admin/functions
. Rozhraní API v cestě/admin/
jsou přístupná pouze s autorizací. - Název funkce: Název funkce, kterou chcete spustit.
Při žádostech o koncové body správce ve vaší aplikaci funkcí platí následující aspekty:
- Při provádění požadavků na jakýkoli koncový bod v
/admin/
rámci cesty musíte zadat hlavní klíč vaší aplikace vx-functions-key
hlavičce požadavku. - Při místním spuštění se autorizace nevynucuje a hlavní klíč funkce se nevyžaduje. Funkci můžete přímo volat vynecháním
x-functions-key
záhlaví. - Při přístupu ke koncovým bodům aplikace funkcí v slotu nasazení se ujistěte, že v adrese URL požadavku použijete název hostitele specifického pro slot a hlavní klíč specifický pro slot.
Získání hlavního klíče
Hlavní klíč můžete získat z webu Azure Portal nebo pomocí Azure CLI.
Upozornění
Vzhledem ke zvýšeným oprávněním v aplikaci funkcí udělených hlavním klíčem byste tento klíč neměli sdílet s třetími stranami ani ho distribuovat v aplikaci. Klíč by se měl odesílat jenom do koncového bodu HTTPS.
Na webu Azure Portal přejděte do aplikace funkcí, vyberte Klíče aplikace a pak
_master
klíč.V části Upravit klíč zkopírujte hodnotu klíče do schránky a pak vyberte OK.
Volání funkce
Na webu Azure Portal přejděte na začátek aplikace funkcí a zvolte svou funkci.
Vyberte Kód + Test a pak vyberte Protokoly. Když funkci spustíte ručně z Postmanu, zobrazí se zprávy z této funkce, které jsou zaprotokolovány.
Otevřete nástroj Postman (nebo ekvivalentní nástroj pro psaní HTTP) a do textového pole adresy URL zadejte umístění požadavku.
Ujistěte se, že je metoda HTTP nastavená na POST, vyberte kartu Záhlaví a přidejte tyto dva páry klíč-hodnota záhlaví:
Key Hodnota x-functions-key
Hodnota hlavního klíče vložená ze schránky. Content-Type
application/json
Vyberte kartu Text a zadejte
{ "input": "<TRIGGER_INPUT>" }
jako text požadavku.Konkrétní
<TRIGGER_INPUT>
zadáte závisí na typu triggeru, ale může to být pouze řetězec, číselná nebo logická hodnota. Pro služby, které používají datové části JSON, jako je Azure Service Bus, by testovací datová část JSON měla být řídicí a serializovaná jako řetězec.Pokud nechcete funkci předávat vstupní data, musíte jako text požadavku POST zadat prázdný slovník
{}
. Další informace najdete v referenčním článku pro konkrétní trigger jiného typu než HTTP.Vyberte Odeslat.
Postman pak hlásí stav 202 Přijato.
V dalším kroku se vraťte ke své funkci na webu Azure Portal. Zkontrolujte protokoly a uvidíte zprávy přicházející z ručního volání funkce.
Způsob, jakým přistupujete k datům odesílaným do triggeru, závisí na typu triggeru a jazyku funkce. Další informace najdete v referenčních příkladech konkrétního triggeru.
Další kroky
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro