Azure Functions utdata från Azure Stream Analytics

Azure Functions är en serverlös beräkningstjänst som du kan använda för att köra kod på begäran utan att uttryckligen behöva etablera eller hantera infrastruktur. Med den kan du implementera kod som utlöses av händelser som inträffar i Azure eller partnertjänster. Den här möjligheten att Azure Functions att svara på utlösare gör det till en naturlig utdata för Azure Stream Analytics. Det här utdatakortet gör det möjligt för användare att ansluta Stream Analytics till Azure Functions och köra ett skript eller kod som svar på en mängd olika händelser.

Azure Functions utdata från Stream Analytics är inte tillgängligt i Microsoft Azure som drivs av 21Vianet och Azure Germany (T-Systems International). Anslutning till Azure Functions i ett virtuellt nätverk (VNet) från ett Stream Analytics-jobb som körs i ett kluster med flera klientorganisationer stöds inte heller.

Azure Stream Analytics anropar Azure Functions via HTTP-utlösare. Utdataadaptern Azure Functions är tillgänglig med följande konfigurerbara egenskaper:

Egenskapsnamn Description
Funktionsapp Namnet på din Azure Functions app.
Funktion Namnet på funktionen i din Azure Functions-app.
Nyckel Om du vill använda en Azure-funktion från en annan prenumeration kan du göra det genom att ange nyckeln för att få åtkomst till din funktion.
Maximal batchstorlek En egenskap som gör att du kan ange maximal storlek för varje utdatabatch som skickas till din Azure-funktion. Indataenheten är i byte. Som standard är det här värdet 262 144 byte (256 KB).
Maximalt antal batchar En egenskap som låter dig ange det maximala antalet händelser i varje batch som skickas till Azure Functions. Standardvärdet är 100.

Azure Stream Analytics förväntar sig HTTP-status 200 från Functions-appen för batchar som har bearbetats.

När Azure Stream Analytics tar emot ett 413-undantag ("http Request Entity Too Large") från en Azure-funktion minskar storleken på de batchar som skickas till Azure Functions. Använd det här undantaget i Azure-funktionskoden för att se till att Azure Stream Analytics inte skickar överdimensionerade batchar. Kontrollera också att det maximala antalet batchar och de storleksvärden som används i funktionen är konsekventa med de värden som anges i Stream Analytics-portalen.

Anteckning

Under testanslutningen skickar Stream Analytics (POST) en tom batch för att Azure Functions för att testa om anslutningen mellan de två fungerar. Kontrollera att functions-appen hanterar tomma batchbegäranden för att se till att testanslutningen godkänns.

I en situation där det inte finns någon händelselandning i ett tidsfönster genereras inga utdata. Därför anropas inte funktionen computeResult . Det här beteendet är konsekvent med de inbyggda mängdfunktionerna i fönster.

Partitionering

Partitionsnyckeln baseras på PARTITION BY-satsen i frågan. Antalet utdataskrivare följer indatapartitioneringen för fullständigt parallelliserade frågor.

Batchstorlek för utdata

Standard batchstorleken är 262 144 byte (256 KB). Standardhändelseantalet per batch är 100. Batchstorleken kan konfigureras och kan ökas eller minskas i Stream Analytics-utdataalternativen.

Begränsning

Azure Functions bör slutföra sin begäran på under 100 sekunder när HTTP-klienten överskrider tidsgränsen efter 100 sekunder. Om det tar mer än 100 sekunder för Azure Functions att bearbeta en batch med data finns det en tidsgräns som utlöser ett nytt försök. Det här återförsöket kan resultera i duplicerade data eftersom Azure Functions bearbetar data igen och potentiellt ger samma utdata eftersom de kan ha matats ut delvis i föregående begäran

Kodexempel

De Azure Functions utdata kan användas för att vidarebefordra meddelanden till databaser som inte stöds, till exempel Redis, eller uppdatera tabeller i Azure SQL.

Nästa steg