Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers. Get Fabric certified for FREE! Learn more

Reply
tobiaspe71
New Member

Event Stream fails miserably at reading IoT data from IoT Hub end-point...

I have worked with Azure IoT solutions for quite some time, previously deploying IoT Hubs, Stream Analytics Queries and down-stream Event Hubs or Blob Storages for lambda architectures. Today I used one of my real-time data generator set-ups, in which I use live sensor data from my iPhone and post that data to a cloud-deployed Node-Red instance. The Node-Red flow does a lot, including sending the parsed data to an IoT Hub. 

 

I then use the IoT Hub as a data source in an Event Stream. I tried to do some basic filtering logic on the incoming data but fell short. The data seems to be read correctly from the Event Streams first "node" (the IoT Hub), but often it doesn't show any data at all or just fails to read the latests streaming updates. It seems burdened with a lot of intermittent strange behaviours.

 

From experience I know that Stream Analytics Queries were somewhat cumbersome to use, yet they were stable. Judging from my experience of MS Fabric Real-Time Inteligence today, it is not even ready for use. 

3 REPLIES 3
tobiaspe71
New Member

Well, I have tried a few different demo setups, both professionally and personally.

 

One of the main crietria for an IoT demo work-wise for us, was to not be dependent on any HW that need to be acquired, configured, distributed and supported by someone.

 

After some serious solution searching I now use the iPhone app SensorLog that sends telemetry sensor message from any iPhone it is installed on. It sends it over HTTP to an REST publish-data end-point provided in Node-Red.

Node-Red then handles some data transformation and framing, provides a demo UI where one can change the modelled asset to one of eight available ones (Conveyor Belt Motor, Wheel Loader, Wind Mill...). The data can then be be pushed to MQTT, to an IoT Hub or even to IoT Central.

 

One cool thing is that the app has accelerometer and mic support, meaning that you can shout at and/or shake your phone and the spike shows up in the Node-Red UI, in the data and possibly in the IoT Central Ui. Boom!

omarecd
Helper I
Helper I

Hello @tobiaspe71 ,

This case sounds actually very interesting.
May I ask, what is the real-time data generator that you used ?
I also have some few for testing and I am actually interested in knowing what other people uses...

Thanks in advance,

Omar C.

v-junyant-msft
Community Support
Community Support

Hi @tobiaspe71 ,

I'm sorry that you encountered such a problem. But I tested it in my environment and there was no problem:

vjunyantmsft_0-1739842886477.png

You did not explain what operations you performed, so I cannot find the problem directly from the existing information. Please provide more complete steps.

The following are the specific steps to connect to the Azure IoT Hub source. You can check whether there is any problem with your operation:
Add Azure IoT Hub source to an eventstream - Microsoft Fabric | Microsoft Learn

You can also check the various logs in Eventhouse monitoring and the Runtime logs in Eventstream. There may be some records that can tell you whether the problem is in the data source or in the eventstream, and whether your data flows from the data source to the eventstream.
Eventhouse monitoring overview - Microsoft Fabric | Microsoft Learn
Monitoring status and performance of an Eventstream item - Microsoft Fabric | Microsoft Learn

often it doesn't show any data at all or just fails to read the latests streaming updates

Based on the sentence you mentioned, I have another suggestion, please ensure that the data ingestion rate into the IoT Hub isn't overwhelming the Eventstream. If the rate is too high, the Eventstream might struggle to keep up with the incoming data. You might want to implement rate limiting or batch processing.
https://learn.microsoft.com/en-us/fabric/real-time-intelligence/event-streams/configure-settings#eve... 

Best Regards,
Dino Tao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
MarchFBCvideo - carousel

Fabric Monthly Update - March 2025

Check out the March 2025 Fabric update to learn about new features.

March2025 Carousel

Fabric Community Update - March 2025

Find out what's new and trending in the Fabric community.

"); $(".slidesjs-pagination" ).prependTo(".pagination_sec"); $(".slidesjs-pagination" ).append("
"); $(".slidesjs-play.slidesjs-navigation").appendTo(".playpause_sec"); $(".slidesjs-stop.slidesjs-navigation").appendTo(".playpause_sec"); $(".slidesjs-pagination" ).append(""); $(".slidesjs-pagination" ).append(""); } catch(e){ } /* End: This code is added by iTalent as part of iTrack COMPL-455 */ $(".slidesjs-previous.slidesjs-navigation").attr('tabindex', '0'); $(".slidesjs-next.slidesjs-navigation").attr('tabindex', '0'); /* start: This code is added by iTalent as part of iTrack 1859082 */ $('.slidesjs-play.slidesjs-navigation').attr('id','playtitle'); $('.slidesjs-stop.slidesjs-navigation').attr('id','stoptitle'); $('.slidesjs-play.slidesjs-navigation').attr('role','tab'); $('.slidesjs-stop.slidesjs-navigation').attr('role','tab'); $('.slidesjs-play.slidesjs-navigation').attr('aria-describedby','tip1'); $('.slidesjs-stop.slidesjs-navigation').attr('aria-describedby','tip2'); /* End: This code is added by iTalent as part of iTrack 1859082 */ }); $(document).ready(function() { if($("#slides .item").length < 2 ) { /* Fixing Single Slide click issue (commented following code)*/ // $(".item").css("left","0px"); $(".item.slidesjs-slide").attr('style', 'left:0px !important'); $(".slidesjs-stop.slidesjs-navigation").trigger('click'); $(".slidesjs-previous").css("display", "none"); $(".slidesjs-next").css("display", "none"); } var items_length = $(".item.slidesjs-slide").length; $(".slidesjs-pagination-item > button").attr("aria-setsize",items_length); $(".slidesjs-next, .slidesjs-pagination-item button").attr("tabindex","-1"); $(".slidesjs-pagination-item button").attr("role", "tab"); $(".slidesjs-previous").attr("tabindex","-1"); $(".slidesjs-next").attr("aria-hidden","true"); $(".slidesjs-previous").attr("aria-hidden","true"); $(".slidesjs-next").attr("aria-label","Next"); $(".slidesjs-previous").attr("aria-label","Previous"); //$(".slidesjs-stop.slidesjs-navigation").attr("role","button"); //$(".slidesjs-play.slidesjs-navigation").attr("role","button"); $(".slidesjs-pagination").attr("role","tablist").attr("aria-busy","true"); $("li.slidesjs-pagination-item").attr("role","list"); $(".item.slidesjs-slide").attr("tabindex","-1"); $(".item.slidesjs-slide").attr("aria-label","item"); /*$(".slidesjs-stop.slidesjs-navigation").on('click', function() { var itemNumber = parseInt($('.slidesjs-pagination-item > a.active').attr('data-slidesjs-item')); $($('.item.slidesjs-slide')[itemNumber]).find('.c-call-to-action').attr('tabindex', '0'); });*/ $(".slidesjs-stop.slidesjs-navigation, .slidesjs-pagination-item > button").on('click keydown', function() { $.each($('.item.slidesjs-slide'),function(i,el){ $(el).find('.c-call-to-action').attr('tabindex', '-1'); }); var itemNumber = parseInt($('.slidesjs-pagination-item > button.active').attr('data-slidesjs-item')); $($('.item.slidesjs-slide')[itemNumber]).find('.c-call-to-action').attr('tabindex', '0'); }); $(".slidesjs-play.slidesjs-navigation").on('click', function() { $.each($('.item.slidesjs-slide'),function(i,el){ $(el).find('.c-call-to-action').attr('tabindex', '-1'); }); }); $(".slidesjs-pagination-item button").keyup(function(e){ var keyCode = e.keyCode || e.which; if (keyCode == 9) { e.preventDefault(); $(".slidesjs-stop.slidesjs-navigation").trigger('click').blur(); $("button.active").focus(); } }); $(".slidesjs-play").on("click",function (event) { if (event.handleObj.type === "click") { $(".slidesjs-stop").focus(); } else if(event.handleObj.type === "keydown"){ if (event.which === 13 && $(event.target).hasClass("slidesjs-play")) { $(".slidesjs-stop").focus(); } } }); $(".slidesjs-stop").on("click",function (event) { if (event.handleObj.type === "click") { $(".slidesjs-play").focus(); } else if(event.handleObj.type === "keydown"){ if (event.which === 13 && $(event.target).hasClass("slidesjs-stop")) { $(".slidesjs-play").focus(); } } }); $(".slidesjs-pagination-item").keydown(function(e){ switch (e.which){ case 37: //left arrow key $(".slidesjs-previous.slidesjs-navigation").trigger('click'); e.preventDefault(); break; case 39: //right arrow key $(".slidesjs-next.slidesjs-navigation").trigger('click'); e.preventDefault(); break; default: return; } $(".slidesjs-pagination-item button.active").focus(); }); }); // Start This code is added by iTalent as part of iTrack 1859082 $(document).ready(function(){ $("#tip1").attr("aria-hidden","true").addClass("hidden"); $("#tip2").attr("aria-hidden","true").addClass("hidden"); $(".slidesjs-stop.slidesjs-navigation, .slidesjs-play.slidesjs-navigation").attr('title', ''); $("a#playtitle").focus(function(){ $("#tip1").attr("aria-hidden","false").removeClass("hidden"); }); $("a#playtitle").mouseover(function(){ $("#tip1").attr("aria-hidden","false").removeClass("hidden"); }); $("a#playtitle").blur(function(){ $("#tip1").attr("aria-hidden","true").addClass("hidden"); }); $("a#playtitle").mouseleave(function(){ $("#tip1").attr("aria-hidden","true").addClass("hidden"); }); $("a#play").keydown(function(ev){ if (ev.which ==27) { $("#tip1").attr("aria-hidden","true").addClass("hidden"); ev.preventDefault(); return false; } }); $("a#stoptitle").focus(function(){ $("#tip2").attr("aria-hidden","false").removeClass("hidden"); }); $("a#stoptitle").mouseover(function(){ $("#tip2").attr("aria-hidden","false").removeClass("hidden"); }); $("a#stoptitle").blur(function(){ $("#tip2").attr("aria-hidden","true").addClass("hidden"); }); $("a#stoptitle").mouseleave(function(){ $("#tip2").attr("aria-hidden","true").addClass("hidden"); }); $("a#stoptitle").keydown(function(ev){ if (ev.which ==27) { $("#tip2").attr("aria-hidden","true").addClass("hidden"); ev.preventDefault(); return false; } }); }); // End This code is added by iTalent as part of iTrack 1859082
Top Solution Authors