< All Topics
Print

DeadLetterManager

Quick summary / TLDR:
DeadLetterManager (DLM) is a new Azure FunctionApp with a function per ServiceBus queue / topic subscription, that is used to grab DeadLetter Messages as they move into the DeadLetter Queue. Each message will be gzipped & serialized, then stored in a particular blob storage container, then removed from the dead letter queue.

Video demo of how this would work: https://web.microsoftstream.com/video/66cda872-4d69-4a20-bf7c-8c8ee4f88d71?channelId=1817e822-4b66-46c3-81a4-3d7255bca7fe

The new FunctionApp’s functions will be bound with the DLQ of a specific ServiceBus queue / topic subscription, using the Microsoft.Azure.WebJobs ServiceBusTriggerAttribute like so:

Mappings of which ServiceBus triggered funtions are bound to which ServiceBus queues/topics can be found below.

Once a message is taken from a DeadLetterQueue by the DLM, it will be serialized and placed into a relevative blob storage container. Mappings of which ServiceBus queue/topic are bound to which container can be found below.

DLM Function NameServiceBus Queue/Topic Name (and subscription if applicable)Blob Storage Container Name
CallParsingDeadLetterManagergraph-responses (call-records)dlm-call-parsing
CallSavingDeadLetterManagerparsed-callsdlm-call-saving
EndpointsSavingDeadLetterManagerparsed-endpointsdlm-call-saving
FailureInfoSavingDeadLetterManagerparsed-failure-infodlm-call-saving
FeedbackSavingDeadLetterManagerparsed-feedbackdlm-call-saving
GraphApiCallingDeadLetterManagergraph-requestsdlm-graph-api-calling
M365GraphResponseParsingDeadLetterManagergraph-responses (m365-records)dlm-m365-graph-response-parsing
M365MergingDeadLetterManagerdatabase-add-or-updatesdlm-m365-merging
MediaDeviceSavingDeadLetterManagerparsed-media-devicesdlm-call-saving
MediaNetworkSavingDeadLetterManagerparsed-media-networks-with-building-datadlm-call-saving
MediaNetworkSubnetMappingDeadLetterManagerparsed-media-networksdlm-medianetwork-subnet-mapping
MediaStreamSavingDeadLetterManagerparsed-media-streamsdlm-call-saving
SegmentSavingDeadLetterManagerparsed-segmentsdlm-call-saving
WebhooksProcessorDeadLetterManagerwebhook-notificationsdlm-webhooks-processor

These new DLM containers are being referenced by the storage accounts’ new lifecycle management rule “dlm-RetentionPolicy”. This will delete blobs out of the DLM containers that haven’t been modified in 7 days. This value is configurable.

Table of Contents