Continuous running Azure WebJobs, how to restart them quickly

We are running some web jobs in our current project which contain a continuous running singleton process.

We try to program the application a bit defensive, we don’t want to let it crash on warnings, etc. But once in a while, a real exception can occur due to external events or just pure evil. In that case, we stop the current instance so Azure will start a new instance.

Because Azure WebJobs behave just like regular console applications (see my previous blog) we can exit the instance quite elegant.

Continue reading “Continuous running Azure WebJobs, how to restart them quickly”

How to fix your StreamAnalytics metrics monitoring

Today it became clear to me that I was missing something…

Every time I created a new StreamAnalytics job, and data arrived, I was staring at this monitoring windows saying: “No available data”:

01-sa-mon

Why?

Today I finally decided to check this out. And I found out it’s a simple thing to fix. And it can be a real asset.

Continue reading “How to fix your StreamAnalytics metrics monitoring”

Raw Azure StreamAnalytics output using Azure Storage

StreamAnalytics is a monster. It is capable of making decisions on large amounts of data, coming in like a stream. It has input sources and output sinks. And in between, a query is running. This query has an SQL-like structure, something like Select * into [output sink] from [input source].

Because I work a lot with the IoT part of Azure (IoT Hubs, EventHubs, etc.), a StreamAnalytics job is a great addition, handling the continuous stream of telemetry, coming from multiple devices.

StreamAnalytics is less known for usage in a non-Internet of Things environment. You can think of handling credit card payments or mutations in personal files.

In my opinion, StreamAnalytics has one drawback; it takes some time to start up and it can only be changed (alter the query of change sinks or sources) when it is stopped again. My biggest issue is that I can not directly see what telemetry is passed.

But there is a simple solution. A query can output the same telemetry (to be more specific, the data you want to pass to the output sink) to multiple sinks. So if you are not sure which data is passed, you can output it to a second sink.

In this blog, I show you how to output to Azure storage sinks. Continue reading “Raw Azure StreamAnalytics output using Azure Storage”

Triggering Microsoft Flow using an Azure Function

For a recent Azure IoT workshop, we were looking for a nice ending of the Azure IoT pipeline. Because after introducing IoT Hubs, Stream Analytics, Event Hubs and Azure Functions, we wanted to show the real power of IoT.

Normally, we show a bunch of charts in PowerBI. You have seen it in my previous blogs, it’s so powerful. But this time, we wanted to do something else, something snappy.

Well, we came up with Microsoft Flow. At first, I was a bit sceptic. Will this help us to ‘sell’ Azure IoT?

Well, see for yourself… Here is an example on how to send, conditionally, an email to an email address you provide.

Continue reading “Triggering Microsoft Flow using an Azure Function”

Do not reuse names of deleted Azure Resources

Today I noticed some strange behaviour in the Azure Portal. Of course, it was me to blame 🙂

I was playing around with the usual suspects like IoT Hub, StreamAnalytics, EventHubs, PowerBI, etc.

For some (still unknown) reason, I suddenly did not receive any input from the IoT Hub in StreamAnalytics anymore. I was tampering with registered devices, sending different JSON messages from difference devices using the same identification, who knows.

Continue reading “Do not reuse names of deleted Azure Resources”