- A
PartitionKey = device ID, RowKey = timestamp (formatted as inverted ticks)
All readings for a device are in one partition; the sorted RowKey enables a point query range scan, minimizing partition scans.
- B
PartitionKey = timestamp (rolled up to day), RowKey = device ID
Why wrong: This scatters a device’s data across many partitions, requiring a full partition scan for the time range.
- C
PartitionKey = location, RowKey = device ID
Why wrong: Queries for a specific device would need to search all partitions that contain that device’s data, inefficient.
- D
PartitionKey = device ID + timestamp (composite), RowKey = empty
Why wrong: A composite PartitionKey loses the ability to perform an efficient range query on timestamp within a partition; each combination is a separate partition.
Quick Answer
The correct answer is PartitionKey = device ID and RowKey = timestamp formatted as inverted ticks. This design works because the PartitionKey groups all readings from a single IoT device into one partition, enabling the query to target a specific partition directly rather than scanning across multiple partitions. The RowKey, using inverted ticks (DateTime.MaxValue.Ticks minus the actual timestamp), ensures that more recent readings sort first and that a one-hour time range can be retrieved as a contiguous range scan within that single partition, leveraging Azure Table Storage’s lexicographic ordering for efficient range queries. On the AZ-204 exam, this tests your understanding of how PartitionKey and RowKey design directly impacts query performance and cost, especially for IoT workloads with time-series data. A common trap is using timestamp alone as the RowKey without inversion, which would scatter recent data across the partition and require full scans. Memory tip: think “device first, time inverted” — the device ID locks the partition, and inverted ticks keep recent data together for fast range queries.
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 are designing an Azure Table Storage table to store temperature readings from IoT devices. Each reading includes a device ID (string), timestamp (datetime), temperature value, and location. You need to optimize the table design for this query: "Retrieve all temperature readings for a specific device ID within a given one-hour time range." The query must be efficient and minimize partition scans. Which PartitionKey and RowKey combination should you use?
Clue words in this question
Noticing these words before you look at the options changes how you read each choice.
Clue:
"minimum / minimize"Why it matters: Asks for the least resource use — fewest addresses, smallest subnet, lowest overhead. Eliminate over-provisioned options even if they would technically work.
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 = device ID, RowKey = timestamp (formatted as inverted ticks)
Option A is correct because using device ID as the PartitionKey ensures all readings for a specific device are in the same partition, allowing efficient point queries. Using timestamp formatted as inverted ticks (e.g., DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks) as the RowKey enables range queries within a one-hour window by leveraging the lexicographic ordering of RowKey values, minimizing partition scans.
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 = device ID, RowKey = timestamp (formatted as inverted ticks)
Why this is correct
All readings for a device are in one partition; the sorted RowKey enables a point query range scan, minimizing partition scans.
Clue confirmation
The clue word "minimum / minimize" in the question point toward this answer.
Related concept
Read the scenario before looking for a memorised answer.
- ✗
PartitionKey = timestamp (rolled up to day), RowKey = device ID
Why it's wrong here
This scatters a device’s data across many partitions, requiring a full partition scan for the time range.
- ✗
PartitionKey = location, RowKey = device ID
Why it's wrong here
Queries for a specific device would need to search all partitions that contain that device’s data, inefficient.
- ✗
PartitionKey = device ID + timestamp (composite), RowKey = empty
Why it's wrong here
A composite PartitionKey loses the ability to perform an efficient range query on timestamp within a partition; each combination is a separate partition.
Common exam traps
Common exam trap: answer the scenario, not the keyword
The trap here is that candidates often choose a composite key (Option D) thinking it uniquely identifies rows, but they overlook that Azure Table Storage requires RowKey for range queries, and an empty RowKey prevents efficient filtering within a partition.
Detailed technical explanation
How to think about this question
Azure Table Storage uses a hash of the PartitionKey to distribute data across nodes; thus, a single PartitionKey value ensures all data resides on the same node, enabling fast point and range queries. The inverted ticks technique ensures that more recent timestamps sort first in RowKey order, which is useful for time-series data where you often query the latest readings. A subtle behavior is that RowKey range queries are lexicographic, so using a standard timestamp string (e.g., '2025-03-20T10:00:00') works but inverted ticks provide better performance for descending time queries.
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 = device ID, RowKey = timestamp (formatted as inverted ticks) — Option A is correct because using device ID as the PartitionKey ensures all readings for a specific device are in the same partition, allowing efficient point queries. Using timestamp formatted as inverted ticks (e.g., DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks) as the RowKey enables range queries within a one-hour window by leveraging the lexicographic ordering of RowKey values, minimizing partition scans.
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.
Are there clue words in this question I should notice?
Yes — watch for: "minimum / minimize". Asks for the least resource use — fewest addresses, smallest subnet, lowest overhead. Eliminate over-provisioned options even if they would technically work.
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 →
Same concept, more angles
3 more ways this is tested on AZ-204
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. You are designing a solution that stores customer order data in Azure Table Storage. The data includes OrderID (string), CustomerID (string), OrderDate (datetime), and TotalAmount (decimal). You need to query orders for a specific customer within a date range efficiently. Which partition key and row key design should you use?
easy- A.PartitionKey = OrderDate, RowKey = OrderID
- ✓ B.PartitionKey = CustomerID, RowKey = OrderDate (inverted ticks for descending order)
- C.PartitionKey = OrderDate, RowKey = CustomerID
- D.PartitionKey = OrderID, RowKey = CustomerID
Why B: Option B is correct because Azure Table Storage queries are most efficient when they use PartitionKey for exact matches and RowKey for range scans. By setting PartitionKey = CustomerID, all orders for a specific customer are stored in the same partition, allowing fast retrieval. Using RowKey = OrderDate (inverted ticks for descending order) enables efficient date-range filtering within that partition, as Azure Table Storage supports range queries on RowKey.
Variation 2. You are developing a solution that uses Azure Table Storage to store time-series data. You need to query data for a specific device within a time range efficiently. Which two properties should you use as the PartitionKey and RowKey?
medium- A.PartitionKey = timestamp, RowKey = reverse deviceId
- B.PartitionKey = timestamp, RowKey = deviceId
- ✓ C.PartitionKey = deviceId, RowKey = timestamp
- D.PartitionKey = deviceId, RowKey = reverse timestamp
Why C: Option C is correct because using deviceId as the PartitionKey ensures all data for a specific device is stored in the same partition, enabling efficient point queries. Using timestamp as the RowKey allows range queries within a time range for that device, as RowKey is sorted lexicographically within a partition. This design optimizes query performance by minimizing partition scans and leveraging Azure Table Storage's natural ordering.
Variation 3. 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?
medium- ✓ A.PartitionKey = DeviceId, RowKey = Timestamp
- B.PartitionKey = Location, RowKey = DeviceId
- C.PartitionKey = Temperature, RowKey = Timestamp
- D.PartitionKey = DeviceId + Timestamp, RowKey = empty
Why A: 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.
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.