Azure Iot sdk - upload blob metadata? - azure-iot-hub

It's great that Azure Iot hub and sdk supports blob uploading. However it seems blob metadata uploading is not there. Any plan to add the feature? It's a very handy feature for small projects.
Or it's already supported but I missed something?

That's correct. There is no method (support) for the blob metadata uploading in the Azure IoT Device Client SDK.
However, the following workaround can be used for this feature. It's based on the uploading files with IoT Hub using the REST API calls.
Step 1: The device ask an Azure IoT Hub for upload references
Step 2: Upload blob and metadata
Step3: Complete the device uploading process:

This feature is tracked by https://github.com/Azure/azure-iot-sdk-csharp/issues/165 for the .NET Azure IoT SDK.

Related

Does Hub support integrations for MinIO, AWS, and GCP? If so, how does it work?

I was taking a look at Hub—the dataset format for AI—and noticed that hub integrates with GCP and AWS. I was wondering if it also supported integrations with MinIO.
I know that Hub allows you to directly stream datasets from cloud storage to ML workflows but I’m not sure which ML workflows it integrates with.
I would like to use MinIO over S3 since my team has a self-hosted MinIO instance (aka it's free).
Hub allows you to load data from anywhere. Hub works locally, on Google Cloud, MinIO, AWS as well as Activeloop storage (no servers needed!). So, it allows you to load data and directly stream datasets from cloud storage to ML workflows.
You can find more information about storage authentication in the Hub docs.
Then, Hub allows you to stream data to PyTorch or TensorFlow with simple dataset integrations as if the data were local since you can connect Hub datasets to ML frameworks.

Protocol used by the Azure Storage explorer to connect to Azure storage

Can someone please help to find the protocol used by the Azure Storage Explorer to connect to Azure storage??
is it SMB or REST?
Azure Storage Explorer (ASE) is a wrapper around azcopy command tool.
Here is a sample of azcopy command I pasted into the notepad
and Azcopy internally uses REST api.
In order to capture all the REST api calls going out you can also use fiddler tool.
Follow the instruction from the link below and you should be able to see them.
https://learn.microsoft.com/en-us/power-query/web-connection-fiddler
So the order is ASE uses -> azcopy uses -> REST API.
or you can also find the azcopy logs at this location for individual session at "%USERPROFILE%.azcopy"
It is REST.
Storage Explorer makes use of Storage SDKs for JavaScript which are wrapper over REST API.

How to query the build-in IoT-Hub of Azure Digital Twins?

As far as I understand, every instance of Azure Digital Twins Preview brings its own IoT-Hub. A normal Azure IoT-Hub I could query like this (https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-query-language):
SELECT * FROM devices
How do I query the built in IoT-Hub of Azure Digital Twins?
Or isn't it possible to access this IoT-Hub and I always have to use the Digital Twins REST-API?
The current preview of Azure Digital Twins does not allow you to query the IoT Hub. However, at Microsoft Build, a new version of the preview was announced. This will change the structure of the Digital Twins itself and also allow you to bring your own Azure IoT Hub to integrate with. In the Build Book Of News, it is stated that this preview should come this summer.
As Matthijs van der Veer mentioned, Currently, there is no direct access to the IoT Hub created along with Digital Twins. However, in GA we will have the ability for you to bring your own/directly create & associate your own hub. Yes, you need to use Management API to connect the IotHub.
The new capabilities, which will be available in the summer of 2020, include OPEN Modeling Language, live execution environment, easy integration with Azure IoT Hub and other Azure services, and rich query APIs.
For more updates regarding Azure Digital Twins, please check Azure Updates page.

How to see MQTT data in AWS IOT and Azure IOT HUB

I have a MQTT client which publish data (topic) to "AWS IOT" and "Azure IOT HUB".
To see the data into "Azure IOT HUB", I am using "DeviceExplorer":
https://github.com/Azure/azure-iot-sdk-csharp/tree/master/tools/DeviceExplorer
I want to know?
For Azure IOT HUB:
- How I can see the same data in azure portal?
For AWS IOT:
- Is there any similar tool for AWS IOT?
- How I can see the same in AWS portal? (I thought it should be "CloudWatch", but not sure how to use it?)
Any links and reference will be appreciable.
For Azure portal:
There is no built-in feature to see a telemetry data in the Azure IoT Hub portal. However, the following Azure apps can help you:
Azure IoT Central
Time Series Insights
EventHubTrigger Function
In the case of using Visual Studio:
Cloud Explorer
For Azure IOT HUB:
To see the data in the Azure portal, you can go to the "IoT Hub" page and click on the "Monitor" tab. From there, you can view the real-time telemetry data and events from your devices. You can also use the "Data Explorer" feature to view and query your device data.
For AWS IoT:
There is no specific tool similar to Device Explorer for AWS IoT. However, you can use the AWS IoT console to view and monitor your device data.
To view the data in the AWS portal, you can go to the "AWS IoT" page and click on the "Test" tab. From there, you can subscribe to a topic and view the real-time data published by your devices. Alternatively, you can use the "CloudWatch" service to view and monitor your device data. To do this, you can create a "Rule" that forwards your device data to CloudWatch, and then use the CloudWatch console to view the data. You can also use the CloudWatch API to access and query your device data.

How to connect non-programmable (no SDK) devices to IoT Hub

I am building an IoT solution based on devices that are not programmable (3rd party devices).
I can just configure the server they must connect to and I have the messaging (sending messages and receiving commands).
What is the best way to integrate them in an Azure IoT Solution (IoT Hub) ?
It looks like we can use Azure IoT Edge as Gateway (https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/iot-edge/iot-edge-as-gateway.md) in a "Identity translation" pattern, but I still not figure out how to do it.
I also find Azure IoT Protocol Gateway (https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-protocol-gateway) that seems to do the job but it is not sufficiently clear for me what to do.
Thanks in advance for your help.
The question is which protocols your devices support and how configurable your devices are. For instance you might be able to talk MQTT directly to the IoT Hub without using the SDK: https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-mqtt-support#using-the-mqtt-protocol-directly-as-a-device
Same is possible for HTTP using the REST API directly: https://learn.microsoft.com/en-us/rest/api/iothub/device
If neither is an option then yes, you need some kind of gateway - like in the examples which you linked.