- A
PartitionKey = DeviceId, RowKey = Timestamp
DeviceId as PartitionKey allows direct partition access, and Timestamp as RowKey enables efficient range scanning for the time window.
- B
PartitionKey = Location, RowKey = DeviceId
Why wrong: Location as PartitionKey would scatter devices across partitions, requiring scans across many partitions for a single device query.
- C
PartitionKey = Temperature, RowKey = Timestamp
Why wrong: Temperature is not a good partition key for identifying a specific device, and the query does not filter by temperature.
- D
PartitionKey = DeviceId + Timestamp, RowKey = empty
Why wrong: Combining DeviceId and Timestamp into PartitionKey prevents efficient range query on timestamp within a single device because each time window might hit multiple partitions.
AZ-204 Develop for Azure storage Practice Question
This AZ-204 practice question tests your understanding of develop for azure storage. Match the stated requirement to the specific cloud service, access model, or configuration option — many options are valid in isolation but not for this scenario. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
You need to store temperature readings from IoT devices in Azure Table Storage. Each reading includes a device ID (string), timestamp (datetime), temperature value, and location. You must optimize for the query: "Retrieve all temperature readings for a specific device ID within a given one-hour time range." Which PartitionKey and RowKey combination should you use?
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
PartitionKey = DeviceId, RowKey = Timestamp
Option A is correct because Azure Table Storage queries are most efficient when the PartitionKey and RowKey are chosen to match the query pattern. By using DeviceId as the PartitionKey, all readings for a specific device are stored in the same partition, enabling fast partition-level scans. Using Timestamp as the RowKey allows efficient range queries within a one-hour window using RowKey comparisons, which is the optimal design for time-range queries on a single device.
Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
PartitionKey = DeviceId, RowKey = Timestamp
Why this is correct
DeviceId as PartitionKey allows direct partition access, and Timestamp as RowKey enables efficient range scanning for the time window.
Related concept
Read the scenario before looking for a memorised answer.
- ✗
PartitionKey = Location, RowKey = DeviceId
Why it's wrong here
Location as PartitionKey would scatter devices across partitions, requiring scans across many partitions for a single device query.
- ✗
PartitionKey = Temperature, RowKey = Timestamp
Why it's wrong here
Temperature is not a good partition key for identifying a specific device, and the query does not filter by temperature.
- ✗
PartitionKey = DeviceId + Timestamp, RowKey = empty
Why it's wrong here
Combining DeviceId and Timestamp into PartitionKey prevents efficient range query on timestamp within a single device because each time window might hit multiple partitions.
Common exam traps
Common exam trap: answer the scenario, not the keyword
The trap here is that candidates often choose Option D, thinking that a composite PartitionKey will improve query performance, but in Azure Table Storage, a composite key in PartitionKey actually creates unique partitions per row, which prevents efficient range queries and forces point lookups, making it worse for time-range queries.
Detailed technical explanation
How to think about this question
Azure Table Storage uses a partition-key/row-key index to support fast point and range queries. When querying with a PartitionKey filter and a RowKey range (e.g., timestamp >= '2025-01-01T10:00:00' AND timestamp < '2025-01-01T11:00:00'), the service performs a single partition scan with O(log n) lookup on the row key, avoiding cross-partition scans. In real-world IoT scenarios, this design scales to millions of devices because each device’s data is isolated in its own partition, and the timestamp row key enables efficient time-window retrieval without additional indexing.
KKey Concepts to Remember
- Read the scenario before looking for a memorised answer.
- Find the constraint that changes the correct option.
- Eliminate answers that are true in general but not in this case.
TExam Day Tips
- Watch for words such as best, first, most likely and least administrative effort.
- Review why wrong options are wrong, not only why the correct option is correct.
Key takeaway
Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Real-world example
How this comes up in practice
A media company stores terabytes of video archives that are accessed once a year for audit purposes. Moving these objects to a cold storage tier (Azure Archive, S3 Glacier, or Google Nearline) costs a fraction of hot storage. Questions like this test whether you understand storage tiers, access frequency tradeoffs, and retrieval latency requirements.
What to study next
Got this wrong? Here's your next step.
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
- →
Develop for Azure storage — study guide chapter
Learn the concepts, then practise the questions
- →
Develop for Azure storage practice questions
Targeted practice on this topic area only
- →
All AZ-204 questions
997 questions across all exam domains
- →
Microsoft Azure Developer Associate AZ-204 study guide
Full concept coverage aligned to exam objectives
- →
AZ-204 practice test guide
How to use practice tests most effectively before exam day
Related practice questions
Related AZ-204 practice-question pages
Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.
Develop Azure compute solutions practice questions
Practise AZ-204 questions linked to Develop Azure compute solutions.
Develop for Azure storage practice questions
Practise AZ-204 questions linked to Develop for Azure storage.
Implement Azure security practice questions
Practise AZ-204 questions linked to Implement Azure security.
Connect to and consume Azure services and third-party services practice questions
Practise AZ-204 questions linked to Connect to and consume Azure services and third-party services.
Monitor, troubleshoot, and optimize Azure solutions practice questions
Practise AZ-204 questions linked to Monitor, troubleshoot, and optimize Azure solutions.
AZ-204 fundamentals practice questions
Practise AZ-204 questions linked to AZ-204 fundamentals.
AZ-204 scenario practice questions
Practise AZ-204 questions linked to AZ-204 scenario.
AZ-204 troubleshooting practice questions
Practise AZ-204 questions linked to AZ-204 troubleshooting.
Practice this exam
Start a free AZ-204 practice session
Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.
FAQ
Questions learners often ask
What does this AZ-204 question test?
Develop for Azure storage — This question tests Develop for Azure storage — Read the scenario before looking for a memorised answer..
What is the correct answer to this question?
The correct answer is: PartitionKey = DeviceId, RowKey = Timestamp — Option A is correct because Azure Table Storage queries are most efficient when the PartitionKey and RowKey are chosen to match the query pattern. By using DeviceId as the PartitionKey, all readings for a specific device are stored in the same partition, enabling fast partition-level scans. Using Timestamp as the RowKey allows efficient range queries within a one-hour window using RowKey comparisons, which is the optimal design for time-range queries on a single device.
What should I do if I get this AZ-204 question wrong?
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
What is the key concept behind this question?
Read the scenario before looking for a memorised answer.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Keep practising
More AZ-204 practice questions
- An app must store relational state and perform transactions across multiple tables with T-SQL support. Which Azure data…
- You are monitoring an Azure App Service using Application Insights. You notice that the server response time is high for…
- Which TWO services can be used to implement a publish-subscribe messaging pattern in Azure?
- You need to monitor the CPU utilization of an Azure VM in real-time and set up an alert when it exceeds 90%. Which Azure…
- You are monitoring an Azure web application with Application Insights. You notice a sudden increase in the number of fai…
- You are monitoring an Azure web app using Application Insights. You need to create a query that returns the average dura…
Last reviewed: Jun 11, 2026
This AZ-204 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 AZ-204 exam.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.