Device Streams is a feature to access IoT devices via IoT Hub. The IoT Hub acts as a proxy and no direct ingoing connection needs to be established.
Disclaimer: Azure IoT Hub currently supports device streams as a preview feature.
Using Device Streams on IoT Edge devices
To be able to use device streams on an IoT Edge device (which is hosting Docker containers), there are two options:
- Install the device client in addition to IoT Edge
- deploy a module which contains the device client
The sample I have created is using IoT Edge 1.2 capabilities to create a SAS token that is then used to connect to the IoT Hub. There is no need store credentials/connectionstring with this pattern.
ghcr.io/renehezser/devicestreamproxy:latest to your deployment manifest for an IoT Edge device to be able to remote SSH into it.
You will also need the Cloud part (the service folder in the repository) that is available here.