What is the difference between Azure Queue Storage and Azure Service with regards to dead letter queues & poison messages?
How do I read the messages from those queues?
A poison message is a message that is sent to the queue or topic that the consuming application cannot process correctly.
Once the DeliveryCount
of these messages reaches the MaxDeliveryCount
of the queue/topic, they will then be classed as poison messages.
These messages will be sent to a queue called <originalqueuename>-poison
.
Both support poison messages but Azure Queue Storage does not support automatic dead-lettering.
This means that while in Azure Service Bus you can set expired messages to be moved into a DLQ for later processing, messages with a TTL value that expire in Azure Storage Queue will be deleted permanently.
Otherwise, handling of messages that will "poison" the system & can never be consumed, is pretty much the same in both offerings.
Both offer a poison queue however only one offers a DLQ.