Azure Functions výstup z Azure Stream Analytics

Azure Functions je bezserverová výpočetní služba, kterou můžete použít ke spouštění kódu na vyžádání, aniž byste museli explicitně zřizovat nebo spravovat infrastrukturu. Umožňuje implementovat kód aktivovaný událostmi, ke kterým dochází v Azure nebo partnerských službách. Díky této schopnosti Azure Functions reagovat na triggery je pro Azure Stream Analytics přirozeným výstupem. Tento výstupní adaptér umožňuje uživatelům připojit Stream Analytics k Azure Functions a spustit skript nebo část kódu v reakci na různé události.

Azure Functions výstup ze stream analytics není k dispozici v Microsoft Azure provozovaném společností 21Vianet a Azure Germany (T-Systems International). Připojení k Azure Functions uvnitř virtuální sítě z úlohy Stream Analytics, která běží v clusteru s více tenanty, se také nepodporuje.

Azure Stream Analytics volá Azure Functions prostřednictvím triggerů HTTP. Výstupní adaptér Azure Functions je k dispozici s následujícími konfigurovatelnými vlastnostmi:

Název vlastnosti Description
Aplikace funkcí Název aplikace Azure Functions.
Funkce Název funkce v aplikaci Azure Functions.
Klíč Pokud chcete použít funkci Azure Functions z jiného předplatného, můžete to udělat tak, že zadáte klíč pro přístup k funkci.
Maximální velikost dávky Vlastnost, která umožňuje nastavit maximální velikost pro každou výstupní dávku odeslanou do funkce Azure. Vstupní jednotka je v bajtech. Ve výchozím nastavení je tato hodnota 262 144 bajtů (256 kB).
Maximální počet dávek Vlastnost, která umožňuje zadat maximální počet událostí v každé dávce odesílané do Azure Functions. Výchozí hodnota je 100.

Azure Stream Analytics očekává stav HTTP 200 z aplikace Functions pro dávky, které byly úspěšně zpracovány.

Když Azure Stream Analytics obdrží výjimku 413 (http Request Entity Too Large) z funkce Azure, zmenšuje velikost dávek, které odesílá Azure Functions. V kódu funkce Azure použijte tuto výjimku, abyste zajistili, že Azure Stream Analytics neodesílá nadměrné dávky. Také se ujistěte, že maximální počet dávek a hodnoty velikosti použité ve funkci jsou konzistentní s hodnotami zadanými na portálu Stream Analytics.

Poznámka

Během testování připojení stream analytics odešle prázdnou dávku (POST), aby Azure Functions otestovat, jestli propojení mezi těmito dvěma funkcemi funguje. Ujistěte se, že vaše aplikace Functions zpracovává prázdné dávkové požadavky, aby se zajistilo, že testovací připojení projde.

V situaci, kdy v časovém intervalu nepřistane žádná událost, se nevygeneruje žádný výstup. V důsledku toho se funkce computeResult nevolá. Toto chování je konzistentní s integrovanými agregačními funkcemi v okně.

Dělení

Klíč oddílu je založený na klauzuli PARTITION BY v dotazu. Počet výstupních zapisovačů následuje po dělení vstupu pro plně paralelizované dotazy.

Velikost výstupní dávky

Výchozí velikost dávky je 262 144 bajtů (256 kB). Výchozí počet událostí na dávku je 100. Velikost dávky je konfigurovatelná a v možnostech výstupu Stream Analytics se dá zvětšit nebo zmenšit.

Omezení

Azure Functions by měl svůj požadavek dokončit za méně než 100 sekund, protože po 100 sekundách vyprší časový limit klienta HTTP. Pokud trvá déle než 100 sekund, než Azure Functions zpracovat dávku dat, dojde k vypršení časového limitu, který aktivuje opakování. Tento opakovaný pokus může vést k duplicitním datům, protože Azure Functions data znovu zpracuje a potenciálně vytvoří stejný výstup, protože se v předchozím požadavku částečně vygeneroval.

Ukázky kódů

Výstup Azure Functions lze použít k přenosu zpráv do nepodporovaných databází, jako je Redis, nebo k aktualizaci tabulek v Azure SQL.

Další kroky