Azure Functions uitvoer van Azure Stream Analytics
Azure Functions is een serverloze rekenservice die u kunt gebruiken om code op aanvraag uit te voeren zonder expliciet infrastructuur in te richten of te beheren. Hiermee kunt u code implementeren die wordt geactiveerd door gebeurtenissen die plaatsvinden in Azure- of partnerservices. Deze mogelijkheid van Azure Functions om te reageren op triggers maakt het een natuurlijke uitvoer voor Azure Stream Analytics. Met deze uitvoeradapter kunnen gebruikers Stream Analytics verbinden met Azure Functions en een script of stukje code uitvoeren als reactie op verschillende gebeurtenissen.
Azure Functions uitvoer van Stream Analytics is niet beschikbaar in Microsoft Azure beheerd door 21Vianet en Azure Duitsland (T-Systems International). Verbinding met Azure Functions in een virtueel netwerk (VNet) vanuit een Stream Analytics-taak die wordt uitgevoerd in een cluster met meerdere tenants, wordt ook niet ondersteund.
Azure Stream Analytics roept Azure Functions aan via HTTP-triggers. De Azure Functions uitvoeradapter is beschikbaar met de volgende configureerbare eigenschappen:
Naam van eigenschap | Beschrijving |
---|---|
Functie-app | De naam van uw Azure Functions-app. |
Functie | De naam van de functie in uw Azure Functions-app. |
Sleutel | Als u een Azure-functie uit een ander abonnement wilt gebruiken, kunt u dit doen door de sleutel op te geven voor toegang tot uw functie. |
Maximale batchgrootte | Een eigenschap waarmee u de maximale grootte kunt instellen voor elke uitvoerbatch die naar uw Azure-functie wordt verzonden. De invoereenheid is in bytes. Deze waarde is standaard 262.144 bytes (256 kB). |
Maximumaantal batches | Een eigenschap waarmee u het maximum aantal gebeurtenissen in elke batch kunt opgeven dat naar Azure Functions wordt verzonden. De standaardwaarde is 100. |
Azure Stream Analytics verwacht HTTP-status 200 van de Functions-app voor batches die zijn verwerkt.
Wanneer Azure Stream Analytics een uitzondering 413 (http-aanvraagentiteit te groot) ontvangt van een Azure-functie, wordt de grootte verkleind van de batches die naar Azure Functions worden verzonden. Gebruik deze uitzondering in uw Azure-functiecode om ervoor te zorgen dat Azure Stream Analytics geen te grote batches verzendt. Zorg er ook voor dat het maximale aantal batches en de groottewaarden die in de functie worden gebruikt, consistent zijn met de waarden die zijn ingevoerd in de Stream Analytics-portal.
Notitie
Tijdens de testverbinding verzendt Stream Analytics (POST) een lege batch naar Azure Functions om te testen of de verbinding tussen de twee werkt. Zorg ervoor dat uw Functions-app lege batchaanvragen verwerkt om ervoor te zorgen dat de testverbinding slaagt.
In een situatie waarin er geen gebeurtenis in een tijdvenster binnenkomt, wordt er ook geen uitvoer gegenereerd. Als gevolg hiervan wordt de functie computeResult niet aangeroepen. Dit gedrag is consistent met de ingebouwde statistische vensterfuncties.
Partitionering
De partitiesleutel is gebaseerd op de component PARTITION BY in de query. Het aantal uitvoerschrijvers volgt de invoerpartitionering voor volledig geparallelliseerde query's.
Grootte van uitvoerbatch
De standaard batchgrootte is 262.144 bytes (256 kB). Het standaardgebeurtenisaantal per batch is 100. De batchgrootte kan worden geconfigureerd en kan worden verhoogd of verlaagd in de uitvoeropties van Stream Analytics.
Beperking
Azure Functions moet de aanvraag binnen 100 seconden voltooien, omdat er na 100 seconden een time-out optreedt voor de HTTP-client. Als het meer dan 100 seconden duurt voordat Azure Functions een batch gegevens verwerkt, is er een time-out die een nieuwe poging activeert. Deze nieuwe poging kan leiden tot dubbele gegevens omdat Azure Functions de gegevens opnieuw verwerkt en mogelijk dezelfde uitvoer produceert, omdat deze mogelijk gedeeltelijk is uitgevoerd in de vorige aanvraag
Codevoorbeelden
De uitvoer van Azure Functions kan worden gebruikt om berichten door te sturen naar niet-ondersteunde databases, zoals Redis, of om tabellen bij te werken in Azure SQL.
Volgende stappen
- Snelstart: Een Stream Analytics-taak maken via Azure Portal
- Quickstart: een Azure Stream Analytics-taak maken via de Azure CLI
- Quickstart: Een Azure Stream Analytics-taak maken via een ARM-sjabloon
- Quickstart: Een Stream Analytics-taak maken met behulp van Azure PowerShell
- Quickstart: Een Azure Stream Analytics-taak maken met behulp van Visual Studio
- Quickstart: Een Azure Stream Analytics-taak maken in Visual Studio Code