Azure IoT Hub Device Twin Access Rights: Explained

Device Twin Access Rights

Question

You are designing the IoT solution of an office building where you would need 1000 devices registered in your IoT Hub.

Each device has its device twin, the content of which can be manipulated either from the back-end or from the device app itself.

However, the back-end and the device app have different rights when accessing different parts of the device twin.

Regarding the access to different parts of the device twin, which of the following statements are true?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Correct Answer: D.

Option A is incorrect because device apps don't have access (not even visibility) to the “tags” session in the device twin.

Option B is incorrect because “reported” properties are values to be updated by the device app.

Back-end has only read access to them.

Option C is incorrect because device twin tags can only be accessed (read and write) by the back-end application.

Device app has no visibility over tags.

Option D is CORRECT because desired properties are kind of instructions sent from the back-end to the device, while reported properties are values sent by the devices to the opposite direction.

Diagram:

Device app

Read, receive
change notifications

Read, write

Device twin

Tags

Properties

Desired

Reported

Back end

Read, write
change notifications

Read, write
change notifications

Read
change notifications

References:

In this scenario, we are dealing with an IoT solution for an office building where 1000 devices need to be registered in an IoT Hub. Each device has its own device twin, which can be manipulated from either the back-end or the device app itself. However, there are different rights for accessing different parts of the device twin. Let's analyze each statement and determine whether they are true or false:

A. Device app can retrieve the device twin id, tags, and properties; the device gets notified of the changes in the desired properties.

This statement is true. The device app can retrieve the device twin id, tags, and properties. The device also gets notified of the changes in the desired properties. Desired properties are the properties that the back-end wants the device to have. When a change is made to the desired properties, the device gets notified and updates its properties accordingly.

B. Device app can update the reported properties; Back-end can partially update reported properties.

This statement is also true. The device app can update the reported properties. Reported properties are the properties that the device sends to the back-end. The back-end can partially update reported properties. This means that the back-end can update some of the properties, but not all of them.

C. Back-end can update device twin tags; Device app can partially update device twin tags.

This statement is false. The back-end can update device twin tags, but the device app cannot partially update device twin tags. Device twin tags are used to categorize devices and are updated by the back-end.

D. Back-end can set desired properties; Device app can partially update reported properties.

This statement is also true. The back-end can set desired properties. Desired properties are the properties that the back-end wants the device to have. The device app can partially update reported properties. Reported properties are the properties that the device sends to the back-end. The device app can update some of the reported properties, but not all of them.

In summary, statements A, B, and D are true, and statement C is false. The device app can retrieve device twin id, tags, and properties and update reported properties. The back-end can partially update reported properties and set desired properties. The back-end can update device twin tags, but the device app cannot partially update device twin tags.