You are designing a telemetry ingestion service that uses Azure Queue Storage to buffer patient monitoring logs. The data payload for each log entry varies, with some message payloads reaching up to . When these larger payloads are sent to the queue, the client application throws an exception. Which strategy should you implement to resolve this exception?
- ACompress the log payload and store the compressed byte array within the queue's user-defined metadata properties using the QueueClient.SetMetadataAsync method.
- BConfigure a system-assigned managed identity for the ingestion client and grant it the Storage Queue Data Contributor role to bypass the default message size limit.
- Store the log payload in Azure Blob Storage and write only the blob URI as the queue message content.Answer
- DGenerate a service-level Shared Access Signature (SAS) token with Write permission, and append it to the QueueClient connection string to increase the message capacity.
Answer
Store the log payload in Azure Blob Storage and write only the blob URI as the queue message content.
The correct option correctly suggests storing the payload in Azure Blob Storage and writing only the blob's URI to the queue. This is a classic implementation of the Claim-Check pattern, which is standard for bypassing the strict message limit of Azure Queue Storage.
Step-by-Step Solution
Key Concept
Handling large queue message payloads using the Claim-Check pattern with Azure Blob Storage.