J Antoni

J Antoni

  • NA
  • 81
  • 34.9k

Best :to publish data to IoTHub or directly to TableStorage?

Nov 16 2017 6:12 AM
I have an web app. The current structure\flow is as below.

1. This has a webservice which is used by the Device module to place the device-specific-data into my Table STorage.
2. At the UI end SignalR is employed to display on Dashboard(view-cshtml) the latest value posted to the cloud as and when the data from the device gets into the TableStorage.
3. Data from different devices are expected to get into TableStorage and at the UI end, as per the device selected, the related data are diplayed.

My Query

Instead of directly publishing to a Azure TableSTorage, Will there be any benefit to have the Azure resource, IOTHub, to which the devices should be publishing its data? If so please let me know on it.

--> a. In this case where should the data that's placed on IoTHub be taken to, for storing all received data for future reference? Should it be only TAbleStorage(...,DocDB,Azure SQL) or IoTHub already handles this by default.

---> b. I have earlier used an option of using StreamAnalytics ; used a query to insert data published at IoTHub end to TableStorage. Is is the only\good option available?

---> c. Or do we have any other options to hold the data published to IoTHub (other than TableSTorage,DocDB,SQL Azure)?
Is the current flow of inserting the data directly to TableStorage from the device OK(best practice?)? If not please suggest the best way of approaching the solution.

What I have tried:

1. ==> My application now has the Table Storage to store all the data received from different registered devices.
2. ==> The data from device is directly inserted to TableStorage using a webservice.
3. ==> As soon the data gets into TableStorage, SingalR notofies to subscribe the data in the UI.