簡體   English   中英

Azure 服務總線客戶端是否會自動對從服務總線返回的瞬態錯誤使用重試?

[英]Does the Azure service bus client automatically use a retries for transient errors returned from the service bus?

我有一個非常簡單的 Azure 函數,它使用 Http 觸發器將消息發送到 Azure 服務總線主題。 如果服務總線返回瞬態錯誤,我想重試此功能。 我已經查看了默認策略,但我不知道如何驗證它是否可以開箱即用。 我是否需要在函數代碼中添加任何內容以確保使用此類重試策略?

我還想記錄重試策略失敗后未能加載到服務總線的消息。 我應該將函數的內容包裝在 try-catch 塊中並在 catch 語句中執行日志嗎?

[FunctionName("MessageLoader")]
[return: ServiceBus("%Topic_Name%", Connection = "Topic_Connection")]
public static async Task<TopicMessage> Run(
    [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = "domain/load-message")] HttpRequestMessage req)
{
    var stringRequestBody = await req.Content.ReadAsStringAsync();
    return JsonConvert.DeserializeObject<TopicMessage>(stringRequestBody);
}

是的,在這種情況下(服務總線綁定),使用默認重試策略 你不需要做任何特別的事情。 要驗證它是否正常工作,如果您正確集成了調用失敗,您應該在應用洞察中看到失敗的依賴項

對於你的第二個問題,如果重試失敗后放棄,你不需要手動登錄。 如果您正確集成,您應該會看到自動捕獲的應用程序洞察中記錄的錯誤。

如果您想在失敗時記錄自定義錯誤,您應該通過自己創建而不是函數輸出綁定來使用Servicebus 消息發送器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM