Currently Azure IoT Edge modules do not support C2D messages. It is mentioned in these docs. Instead of C2D messages, you can use a Direct Method to contact a module, the downside is that the device needs to be online for a Direct Method to work.
To answer your second questions, Azure IoT Edge will attempt to run all the modules at the same time. The exception to that rule is that the edgeAgent module will always run first, and the edgeHub module will only run if there are any other modules running.
@Matthijs van der Veer thank you for the answer. If i have already deploy my modules to my edge device(raspberry), will it automatically run iot edge runtime and my modules when i boot raspberry on or do i have to do it manually. Am i able to multi-thread in my modules like in normal python scipt?
If you followed the default installation steps here, the runtime will automatically start up with the OS. The runtime will check what configuration is available for it (from IoT Hub) and attempt to apply it. And yes, you can do multi-threading in a Docker container.
Each container is an application that is 'sandboxed'.
It just runs as a normal application so you can run what you like.
The only limitation is that access to external resources (network, diskusage, USB, comports, etc.) is controlled from the outside by Docker (or the 'Create Options' in Azure IoT Edge).
Sign in to comment