您有一個由 Service Bus 觸發的 Azure Function,它會呼叫一個會被節流的下游 API。在暫時性失敗的情況下,您希望使用指數退避演算法重試最多 5 次,延遲時間從 2 秒到 1 分鐘。重試後,訊息應由 Service Bus 進行無效信件處理 (dead-lettered)。您應該如何設定重試?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 新增至 host.json:「retry」:{ 「strategy」:「exponentialBackoff」, 「maxRetryCount」:5, 「minimumInterval」:「00:00:02」, 「maximumInterval」:「00:01:00」 }。.
為什麼這是答案
正確答案是將重試配置新增到 host.json。Azure Functions 支援在 host.json 中配置重試策略,包括指數退避。strategy 屬性應設定為 exponentialBackoff,maxRetryCount 設定為 5,minimumInterval 設定為 2 秒,maximumInterval 設定為 1 分鐘,以符合題目要求。當所有重試失敗後,Service Bus 會自動將訊息無效信件處理。 將 strategy 設定為 fixedDelay 不符合指數退避的要求。將 Service Bus 佇列的 MaxDeliveryCount 設定為 5 僅控制 Service Bus 的重試次數,而不是 Function 應用程式層級的重試邏輯,且無法實現指數退避。在函式程式碼中實作 Polly 雖然可行,但 host.json 提供了一種更簡單、更集中的方式來配置 Azure Functions 的重試行為,避免了在每個函式中重複實作。
通過考試 — 無需無休止地尋找答案
集中一處獲取此考試的所有核實題目和解釋,節省數小時的準備時間。1,000 多種認證 · 20 多種語言 · 免費開始。
更快通過您的考試 → 無需信用卡