Integration Messaging premium

Dead-letter queue

A dead-letter queue stores messages that could not be delivered or processed successfully.

Aliases
DLQ
Difficulty
fundamentals
CLI mappings
11
Last verified
2026-05-03

Microsoft Learn

A dead-letter queue stores messages that could not be delivered or processed successfully.

Microsoft Learn: Azure integration services documentation2026-05-03

Technical context

In Azure, Dead-letter queue belongs to the Messaging area and usually shows up when a workload crosses resource configuration, identity, networking, data, or operations boundaries. The mapped CLI commands, especially commands near az servicebus topic, help turn the term from a definition into something you can inventory, verify, automate, or troubleshoot.

Why it matters

Dead-letter queue matters because integration and messaging decisions become production behavior: cost, security, reliability, performance, and supportability all depend on whether the team understands the resource, setting, or pattern before changing it.

Where you see it

Signals, screens, and Azure surfaces where this term usually becomes operational.

Signal 01

Messaging

Signal 02

Service Bus namespace

Signal 03

Event Hubs namespace

Signal 04

Event Grid topic

Signal 05

Logic App designer

When this becomes relevant

Specific situations where this term helps solve real Azure design, operations, migration, security, reliability, cost, or governance problems.

  • Move events or messages between applications without direct synchronous dependencies.
  • Build workflows that coordinate systems, APIs, data, and human approvals.
  • Troubleshoot dead-letter, retry, ordering, throughput, or subscription behavior.
  • Document how producers and consumers interact in a production system.

Real-world case studies

Different enterprise-style examples that show the term being used to hit measurable objectives.

Using Dead-letter queue in Azure operations

An Azure operator can use Dead-letter queue to plan, inspect, automate, or troubleshoot a workload without losing sight of subscription, resource group, identity, and monitoring context.

Why use Azure CLI for this?

Use Azure CLI for Dead-letter queue when you need repeatable evidence or automation instead of a one-off portal check. Commands near az servicebus topic let you inspect current state, script environment setup, compare dev/test/prod, and document exactly what changed.

CLI use cases

  • Inspect namespaces, topics, queues, subscriptions, rules, and endpoints during incidents.
  • Automate environment creation for messaging or workflow infrastructure.
  • Check network, identity, diagnostic, and throughput settings before rollout.
  • Capture state before changing message routing or workflow behavior.

Before you run CLI

  • Run az account show and confirm the tenant, subscription, and user or service principal context.
  • Confirm the resource group, resource name, and region match the environment you intend to inspect or change.
  • Prefer read-only discovery commands first; only run mutating, cost-impacting, security-impacting, or destructive commands after review.
  • Copy command output into a change record or incident notes when the command is used for production evidence.

What output tells you

  • Whether Dead-letter queue exists at the expected Azure scope and under the expected resource owner.
  • Which location, SKU, identity, network, state, or relationship fields are currently configured.
  • Whether the command is showing a resource problem, an access problem, a naming/scope problem, or a missing dependency.
  • What safe follow-up command or related term should be checked next.

Mapped Azure CLI commands

Adjacent discovery commands

adjacent
az resource list --resource-group <resource-group> --output table
az resourcediscoverDatabases
az resource show --ids <resource-id>
az resourcediscoverManagement and Governance

Servicebus operations

direct
az servicebus namespace list --resource-group <resource-group>
az servicebus namespacediscoverIntegration
az servicebus namespace show --name <namespace> --resource-group <resource-group>
az servicebus namespacediscoverIntegration
az servicebus namespace create --name <namespace> --resource-group <resource-group> --location <region> --sku Standard
az servicebus namespaceprovisionIntegration
az servicebus queue list --namespace-name <namespace> --resource-group <resource-group>
az servicebus queuediscoverIntegration
az servicebus queue create --name <queue> --namespace-name <namespace> --resource-group <resource-group>
az servicebus queueprovisionIntegration
az servicebus topic list --namespace-name <namespace> --resource-group <resource-group>
az servicebus topicdiscoverIntegration
az servicebus topic create --name <topic> --namespace-name <namespace> --resource-group <resource-group>
az servicebus topicprovisionIntegration
az servicebus topic subscription list --topic-name <topic> --namespace-name <namespace> --resource-group <resource-group>
az servicebus topic subscriptiondiscoverIntegration
az servicebus topic subscription create --name <subscription> --topic-name <topic> --namespace-name <namespace> --resource-group <resource-group>
az servicebus topic subscriptionprovisionIntegration

Architecture context

A dead-letter queue sits in the failure-handling lane of a message-driven design, not as an afterthought bolted onto the consumer. In Service Bus, Storage Queue patterns, Event Grid delivery, or Functions-triggered processors, it gives operators a durable place to isolate messages that exceeded delivery attempts, expired, failed validation, or could not be routed safely. Architects usually pair it with retry policy, poison-message handling, correlation identifiers, and replay runbooks. The important boundary is ownership: the producer, broker, and consumer must agree what gets dead-lettered, who reviews it, and when replay is allowed. Good designs expose dead-letter depth through Azure Monitor, keep payloads protected, and treat cleanup as controlled remediation, not a blind purge.

Security

Use managed identity, private endpoints, scoped access policies, and careful token handling.

Cost

Watch throughput units, operations, retained events, workflows, and API gateway capacity.

Reliability

Design retries, dead-letter handling, ordering, idempotency, and back-pressure explicitly.

Performance

Tune partitioning, batching, concurrency, and workflow trigger behavior.

Operations

Message and workflow systems need clear observability and replay/debug procedures.

Common mistakes

  • Using the term without confirming the resource scope, region, and subscription context.
  • Copying a command into production without checking identity, cost, and deletion impact.
  • Treating Dead-letter queue as just a label instead of checking the Azure scope, owner, and resource that it affects.
  • Running a mutating or destructive CLI command before confirming the active subscription, resource group, and target name.