我正在使用Azure服务总线主题和订阅机制,并希望处理所有在死信队列中的消息。此外,我想通过C#中的Azure Web Job处理消息并将它们发送回队列。因此,我想知道如何通过我的应用程序处理死信队列中的消息?
当消息死信化时,它将进入读取该消息的订阅的死信队列。您可以像访问原始订阅一样访问它,只需将 /$DeadLetterQueue
添加到订阅名称即可。
{topic-path}/Subscriptions/{subcription-name}/$DeadLetterQueue
public void ProcessDeadletterQueue(
[ServiceBusTrigger("topicName", "subscriptionName/$DeadLetterQueue")] BrokeredMessage message)
{
//TODO:
}
了解更多详情,请参考此处。
string path = Microsoft.ServiceBus.Messaging.SubscriptionClient.FormatDeadLetterPath(topicPath, subscriptionName);
var subscriptionClient = SubscriptionClient.CreateFromConnectionString(connectionString, path);
BrokeredMessage message = subscriptionClient.Receive();
FormatDeadLetterPath
。 - Anton KalcikEntityNameHelper
而不是SubscriptionClient
。 - Anton Kalcik