Build Queue Storage message configs with visibility timeouts, TTL, poison queues, consumer batching, and polling settings.
Build Queue Storage message configs with visibility timeouts, TTL, poison queues, consumer batching, and polling settings.
Required Fields
storageAccountNamequeuesqueues[0].queueNamequeues[0].messageSettings.visibilityTimeoutqueues[0].messageSettings.messageTtlOutput will appear here...Build Azure Queue Storage configurations with per-queue visibilityTimeout, messageTtl, and a poisonQueue with maxDequeueCount, the mechanism that automatically moves a message to a separate poison queue after it's been dequeued and failed to be deleted that many times, preventing one malformed or bug-triggering message from being retried indefinitely and blocking queue processing throughput. visibilityTimeout needs to genuinely exceed the consumer's actual processing time for a given message type, order-processing-poison at PT5M versus email-notifications-poison at PT2M reflects that these two queues' consumers have different expected processing durations, a visibility timeout shorter than actual processing time causes the same message to become visible and get picked up by a second consumer while the first is still legitimately working on it.
Always set visibilityTimeout meaningfully longer than the queue's actual worst-case consumer processing time, not just the typical case, a timeout tuned to average processing time causes duplicate processing on every above-average-duration message.
maxDequeueCount and poison queue handling only work if consumer code actually implements checking and moving the message, this configuration documents intent, verify your actual consumer implementation honors it rather than assuming Queue Storage enforces it automatically.
Match messageTtl to the message's genuine useful lifetime per queue, a one-size-fits-all TTL across queues with very different actionability windows (order processing vs. time-sensitive notifications) either expires messages too early or lets stale ones linger too long.
The builder validates that storageAccountName, queues, and the first queue's queueName/messageSettings.visibilityTimeout/messageSettings.messageTtl all resolve before accepting the JSON as a valid combined queue configuration specification; it can't verify consumer code actually implements the documented poison-queue and dequeue-count handling, that's an application-level responsibility the configuration only documents intent for.
Was this tool helpful?
Disclaimer: This tool runs entirely in your browser. No data is sent to our servers. Always verify outputs before using them in production. AWS, Azure, and GCP are trademarks of their respective owners.