I'm unclear on when exactly a Stream Analytics job is getting called if I don't specify any windowing function. Is it running periodically or is it getting called whenever a new event arrives? Unfortunately I haven't found any documentation specifically mentioning this yet.
Background: I have multiple devices sending updates to my IoT Hub and I only want to do a new calculation whenever a certain device sends an update.
Without a windowing function, your Azure Stream Analytics job will run every time an input message is received. However, it might batch the output depending on the egress rate. This depends on the type of the output as well, as described on this page.
One sidenote is that depending on how complex your query is, you need to take the Streaming Units usage into account. Even if you're not looking at windowed functions, you want to check this page if you want to use UDF's or reference data, as it might affect your memory usage.