Courseiva
Describe core data conceptshardMultiple ChoiceObjective-mapped

DP-900 Describe core data concepts Practice Question

Exhibit

{
  "consumerGroup": "$Default",
  "partitionId": "0",
  "sequenceNumber": 12345,
  "offset": "123456789",
  "enqueuedTimeUtc": "2025-03-25T10:30:00.000Z",
  "properties": {
    "systemProperties": {
      "iothub-connection-device-id": "device-01",
      "iothub-connection-auth-method": "{\"scope\":\"device\",\"type\":\"sas\",\"issuer\":\"iothub\"}",
      "iothub-enqueuedtime": "2025-03-25T10:30:00.000Z"
    }
  },
  "body": {"temperature": 25.5, "humidity": 60}
}

Refer to the exhibit. You are analyzing a message from an IoT device captured in Azure Event Hubs. The message contains system properties indicating the device ID and authentication method. You need to route messages from device-01 to a separate storage container for compliance. Which property should you use in a Stream Analytics query to filter messages?

⚠ Common exam trap

Microsoft often tests the exact naming of Azure IoT Hub system properties, and the trap here is that candidates assume a simple `deviceId` property exists, but the actual property name includes the `iothub-connection-` prefix, which is specific to IoT Hub's message enrichment.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

iothub-connection-device-id

The `iothub-connection-device-id` system property is automatically added by Azure IoT Hub to every device-to-cloud message. In a Stream Analytics query, you can reference this property directly (e.g., `WHERE iothub-connection-device-id = 'device-01'`) to filter messages from a specific device for routing to a separate storage container for compliance.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • partitionId

    Why it's wrong here

    The partitionId system property only identifies which Event Hubs partition stored the message, not the device that sent it. Partition assignment is handled by the Event Hubs service, either round-robin or by a partition key, and does not carry any device identity information. A message from device-01 can land in any partition, so using partitionId in a WHERE clause would not reliably isolate that device. The property that carries the originating device ID is a different system property.

  • consumerGroup

    Why it's wrong here

    A consumer group is a named view of an event stream that allows multiple consumer applications to read the same data independently, without interfering with each other. It is a property of the consumer, not of the message, and it is not included in the message metadata that an Azure Function examines. A message from a device does not have a consumerGroup field, so referencing it in a WHERE clause would fail or filter on an undefined value. This option is unrelated to identifying the device.

  • iothub-connection-device-id

    Why this is correct

    The iothub-connection-device-id system property is automatically appended by Azure IoT Hub to every message that it accepts from a device, and it contains the authenticated device ID. The value is set by the IoT Hub based on the device's authentication identity, so it cannot be spoofed by the device itself and reliably represents the source device. When processing messages in an Azure Function or a Stream Analytics job, you can use this property in a WHERE clause, for example WHERE iothub-connection-device-id = 'device-01', to filter messages from that specific device. This property is the definitive way to reference a device ID in IoT Hub message metadata.

  • deviceId

    Why it's wrong here

    The deviceId property appears to be a custom application property that a device might place in the message body or properties, but Azure IoT Hub does not reserve that property name. If a device sends a property named deviceId, it is not standardized and could be omitted, misspelled, or set to an incorrect value. Moreover, using it in a WHERE clause would be unreliable because it doesn't come from the IoT Hub's authentication context. The correct, system-managed property is iothub-connection-device-id, which is included by the IoT Hub automatically.

About these practice questions

Courseiva writes every DP-900 question from scratch — 820 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This DP-900 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DP-900 exam.