簡體   English   中英

Azure JavaScript功能退出服務總線隊列

[英]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.

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