簡體   English   中英

Azure 邏輯應用程序中服務總線連接器的消息處理策略

[英]Messages processing policy for Service Bus connector in Azure Logic App

我有 Azure Logicapp,它使用當一條或多條消息到達主題(窺視鎖定)連接器時處理來自服務總線主題的消息 在此處輸入圖片說明

我已經使用相同的session-id向服務總線發送了 40 條消息在此處輸入圖片說明

正如我們從文檔中了解到的,這個連接器每次運行可以處理 20 條消息。 但是我們在這里看到的。

第一次運行我有另一個時區 (UTC+3),所以小時有變化在此處輸入圖片說明

第二次運行第二次運行

第三次運行第三次運行

而不是兩次運行20/20我們有三個1/20/19

為什么會發生這種情況? 我在文檔中找不到解釋?

邏輯應用服務總線不保證批處理來實現這種使用批處理接收器

看起來邏輯應用程序將被第一條消息觸發,並嘗試預取接下來的 20 個(默認大小)項目並為下一個項目執行此操作。

某些觸發器,例如當一條或多條消息到達隊列時(自動完成)觸發器,可以返回一條或多條消息。 當這些觸發器觸發時,它們會返回 1 到觸發器的最大消息計數屬性指定的消息數。

https://docs.microsoft.com/en-us/azure/connectors/connectors-create-api-servicebus

我想讓您知道 20 是連接器中的默認計數,您可以增加計數(最大消息計數)。 它可能無法完全解決您面臨的問題,但至少可以讓您減少執行次數。

在此處輸入圖片說明

要解決第一條消息問題,請考慮使用批處理接收器。

邏輯應用程序不會等待 20 條消息建立,因為它不知道是否還會有更多消息。 所以它會立即觸發第一條消息。 此時,沒有其他消息可供處理。

根據屏幕截圖中的時間戳,會發生以下情況:

  1. 您設置邏輯應用程序、配置觸發器等。
  2. 開始發消息
  3. 邏輯應用接收您發送的第一條消息
  4. 您發送完 40 條消息
  5. 邏輯應用完成處理第一條消息
  6. 邏輯應用選取接下來的 20 條消息
  7. 邏輯應用選取最后 19 條消息。

暫無
暫無

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

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