Deploying Custom Modules for Azure IoT Edge | AZ-220 Exam Answer

Create DeploymentManifest.json Property Groups

Question

As a part of an industrial IoT solution, you have four high-speed cameras used for quality control, and connected to an edge device.

The images sent by the cameras must be pre-processed locally on the edge, and only images with identified quality defects must be forwarded to the IoT hub for further analysis and archiving.

You need to create three IoT Edge modules that receive messages from the cameras, run a machine learning model to process images, then forward the relevant images to IoT Hub.

You need to deploy two custom modules on your device.

Which property groups should you add to the deploymentManifest.json?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Correct Answer: B.

Option A is incorrect because “$edgeAgent.systemModules”is used to define properties of the standard edge modules like edgeAgent and edgeHub.

Definitions of custom modules go under the “modules” property.

Option B is CORRECT because the custom module definitions must go into the “modules” section of the edgeAgent, while the connections between the modules are described in the “routes” section of the edgeHub definition.

Option C is incorrect because the custom module definitions must go into the “modules” section of the edgeAgent, rather than the edgeHub.

Option D is incorrect because the “Binds” parameter is needed if a module needs to access a local folder (typically for storing data locally)

It is not needed for the current scenario.

registryCredentials is actually needed and used to define the custom container registries.

References:

To deploy three IoT Edge modules that receive messages from cameras, run a machine learning model to process images, and forward the relevant images to IoT Hub, you need to add the module configuration details to the deployment manifest file (deploymentManifest.json).

The deployment manifest file is used to describe the modules that are running on an IoT Edge device and their configurations. It defines the desired state of the modules and their dependencies. The deployment manifest file contains two sections: system modules and custom modules.

In this scenario, since you need to deploy two custom modules on your device, you should use the "modules" section in the deployment manifest file.

The desired routes for sending data between modules can be defined in the properties of the IoT Edge agent and IoT Edge hub. You should use the "properties.desired.routes" property to define the routes for sending data between modules.

Therefore, the correct answer is A. “$edgeAgent.systemModules” and “$edgeAgent.properties.desired.routes”.

The "$edgeAgent.systemModules" property group should be used to define the IoT Edge agent system modules that are required to run on the device. These modules include "edgeAgent" and "edgeHub".

The "$edgeAgent.properties.desired.routes" property group should be used to define the desired routes for sending data between modules. You should define a route to send data from the camera modules to the machine learning module and another route to send data from the machine learning module to the IoT Hub module.

Option B is incorrect because it refers to the IoT Edge hub, which is not required for this scenario.

Option C is incorrect because it only refers to the IoT Edge hub and not the IoT Edge agent.

Option D is incorrect because it refers to the configuration of container parameters and registry credentials, which are not related to defining module routes or configurations.

Therefore, you should use the "modules" section to define the custom modules, and the "$edgeAgent.properties.desired.routes" property group to define the desired routes for sending data between modules in the deployment manifest file.