[英]Azure JavaScript Function Out to Service Bus Queue
我有一個服務總線隊列,其中已設置重復檢測。
通過CosmosDb觸發功能,然后需要在服務總線隊列中創建一條消息。 但是,每次嘗試都會失敗,並出現一條重復消息錯誤,要求MessageId。
函數可以訪問以創建新的有效消息有效負載的Javascript SDK嗎?
如果不是,那么消息有效負載應該是什么樣的?
當我們激活復制時,Windows Azure Service Bus將開始存儲消息的歷史記錄。 可以將這段時間配置為從幾分鍾到幾天。 如果有重復的消息發送到服務總線,則服務將自動忽略該消息。
在我們的情況下,在大多數情況下,重復檢測是可以的,但在某些情況下則是不好的(尤其是在10分鍾范圍內)。 為了解決這個問題,我們引入了一個“斷路器”:在服務總線的messageId屬性中添加一個值,如下所示
msg.MessageId = messageId + "_" + DateTime.Now.ToString("u");
如果只想防止“垃圾郵件”,則可以考慮將重復檢測窗口設置為最小(20秒)。 (個人而言,我希望看到一個低至5秒的閾值)。
當前允許的范圍是20秒到7天。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.