Deploying Custom Modules for Azure IoT Edge Devices

Configuration Properties for Deploying Custom Modules

Question

As part of an IoT solution, you have to deploy image recognition logic to certain field devices, to complete computation-intensive tasks locally.

The devices are already registered in the IoT Hub as edge devices.

Your task is to go on with their configuration and deploy the runtime logic.

You have to deploy 3 interdependent custom modules to your device.

Which two properties should you configure in the deployment manifest to have your device operate properly?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D. E.

Correct Answers: A and C.

Option A is CORRECT because the startupOrder desired property of the modules must be set to determine the order the IoT Edge agent should start the modules when they are first deployed.

Option B is incorrect because the startupOrder is a desired property of the EdgeAgent and the modules.

It is not applicable for EdgeHub.

Option C is CORRECT because it is the IoT Edge hub that orchestrates the communication between other modules, IoT Hub, and leaf devices.

The edgeHub module twin contains the desired property route that defines how messages flow within a deployment.

Option D is incorrect because The edgeAgent module doesn't have a startup order parameter.

After all, it always starts first.

Option E is incorrect because this property is set byIoT Hub when the manifest is applied during the deployment.

It is not part of a deployment manifest.

References:

In order to deploy the custom modules to your IoT edge device, you need to create a deployment manifest, which is a JSON file that specifies the modules to be deployed to the device, their configuration, and the routes that data should follow between modules.

Of the five properties listed in the question, two properties that are important to configure for the device to operate properly are:

  1. startupOrder in the custom modules: This property specifies the order in which the custom modules should start up on the device. If the modules have interdependent operations, it is important to ensure that they are started in the correct order so that they can communicate with each other and perform their tasks properly.

  2. routes property of the EdgeHub module: This property specifies the message routing rules for the EdgeHub module, which is responsible for managing communication between the custom modules and the cloud. The routes property determines how messages are routed between modules and can be used to ensure that messages are delivered to the correct module and processed in the correct order.

The other properties listed in the question are also important for the deployment manifest, but they are not directly related to the proper operation of the custom modules on the device.

For example, StartupOrder of the EdgeHub module is used to specify the order in which the EdgeHub module itself starts up, and Configuration.id in the EdgeAgent module is used to identify the configuration for the EdgeAgent module.

Therefore, the correct answers for this question are A. startupOrder in the custom modules, and C. routes property of the EdgeHub module.