What the heck is an Azure Stream Analytics Job?

TLDR: So you managed to stream data to the Azure IoT Hub. Congrats! Now what? You have no use for the data until you get them somewhere, where you can process them, aggregate them, interact with them. Is the Stream Analytics Job the component of choice for processing, aggregation etc? Well, no! But it’s the one you will use to send the data where they need to go. Power BI, Cosmos DB, SQL Server, Service Bus are only a few of the components where a Stream Analytics Job can output data.

What’s so cool with it?

It’s the tool that can get input from (pretty much) everywhere and output it to (pretty much) everywhere. I find this extremely helpful as it really shortens the time-to-deploy. You just get some input, pimp it with SQL-like statements, throw it to the output!

Example! I have a bunch of incoming data to my Azure IoT Hub, I need that data to be sent to Power BI for analysis and presentation and saved in a CosmosDB (for further analysis), as in the following diagram.

What would I do if I didn’t have the Stream Analytics Job? I would probably use an Azure Function to fetch the incoming data from the IoT Hub and then canalize it to each output. That would need me to write code, which as everyone knows, is a living creature that has to be taken care of. Using the Azure Stream Analytics Job, I am up & running within minutes!

What’s the catch?

  1. You get what you pay for. It’s not expensive but it’s not free either.
  2. In my humble opinion, troubleshooting a Stream Analytics Job is quite of a pain in the ass.
  3. I have found a few glitches in data type conversions. Dates are being output as strings etc.


I love it! It adds value to my solution and I wouldn’t change it for anything.

This website uses cookies. By continuing to use this site, you accept our use of cookies.