1

我有一個主題和一個在azure web作業中處理的訂閱,但某些消息應該在一定數量後移動到死信(隊列或主題?)的重試次數。我不知道如何處理死信消息。有人有代碼示例嗎?這是可能的與蔚藍網絡作業?我該如何處理來自主題的死信消息

我幾乎放棄,手動使用一個重試計數器。 暫時,這個我在做什麼,但我真的不喜歡這個主意要添加的消息回到相同的隊列:


public void SynchronizeConsumer( 
    [ServiceBusTrigger("topic")] Consumer consumer, 
    [ServiceBus("topic")] ICollector withError) 
{ 
    try 
    { 
      this.consumerSync.SyncConsumer(consumer); 
    } 
    catch (Exception ex) 
    { 
      consumer.NbOfRetries++; consumersWithError.Add(consumer); 
    } 
} 
+0

可能的重複[你如何訪問dea d Azure訂閱上的字母子隊列?](http://stackoverflow.com/questions/22681954/how-do-you-access-the-dead-letter-sub-queue-on-an-azure-subscription) – Thomas

回答

3

您的郵件將被移動到死信訂閱( =子隊列)。您可以像訪問正常訂閱中的消息一樣訪問deadletter訂閱中的消息。

您死信訂閱的路徑是:

topicPath/Subscriptions/subscriptionName/$DeadLetterQueue 

如果使用ServiceBusTrigger,你函數應該看起來像這樣:

public void ProcessMessage(
    [ServiceBusTrigger("topicName", "subscriptionName")] BrokeredMessage message) 
{ 
    try 
    { 
     // Process you message 
     ... 

     // Complete the message 
     message.Complete(); 
    } 
    catch 
    { 
     message.Abandon(); 
    } 
} 

因此函數訪問死信訂閱應該是這樣的那:

public void ProcessDeadletterMessage(
    [ServiceBusTrigger("topicName", "subscriptionName/$DeadLetterQueue")] BrokeredMessage message) 
{ 
    ... 
} 
相關問題