共用方式為


從 Azure Logic Apps 中的工作流程連線到事件中樞

適用於:Azure Logic Apps (使用量)

Azure 事件中樞連接器可協助您將邏輯應用程式工作流程連線到 Azure 中的事件中樞。 然後,您可以讓工作流程監視和管理傳送至事件中樞的事件。 例如,您的工作流程可以檢查、傳送和接收來自事件中樞的事件。 本文提供 Azure 事件中樞連接器的開始使用指南,說明如何連線到事件中樞,以及將事件中樞觸發程序或動作新增至工作流程。

如需 Azure 事件中樞或 Azure Logic Apps 的詳細資訊,請檢閱什麼是 Azure 事件中樞什麼是 Azure Logic Apps

可用的作業

如需所有作業和其他技術資訊,例如屬性、限制等,請檢閱事件中樞連接器的參考頁面

必要條件

檢查使用權限並取得連接字串

若要確定您的工作流程可以存取事件中樞,請檢查您的權限,然後取得事件中樞命名空間的連接字串。

  1. 在 [Azure 入口網站] 中,移至您的事件中樞「命名空間」,而不是特定事件中樞。

  2. 在命名空間選單的 [設定] 下方,選取 [共用存取原則]。 在 [宣告] 資料行中,檢查您至少擁有該命名空間的 [管理] 權限。

    此螢幕擷取畫面顯示 Azure 入口網站、事件中樞的命名空間,以及顯示在 [宣告] 資料行的 [管理] 權限。

  3. 如果您想要在稍後手動輸入連線資訊,請取得事件中樞命名空間的連接字串。

    1. 在 [原則] 資料行中,選取 RootManageSharedAccessKey

    2. 尋找主索引鍵的連接字串。 複製並儲存連接字串以供稍後使用。

      此螢幕擷取畫面顯示主索引鍵的連接字串且已選取 [複製] 按鈕。

      提示

      若要確認您的連接字串是否與事件中樞命名空間或特定事件中樞相關聯,請確認連接字串沒有 EntityPath 參數。 如果您發現這個參數,則此連接字串適用於特定事件中樞「實體」,而不是用於工作流程的正確字串。

建立事件中樞連線

當您第一次新增事件中樞觸發程序或動作時,系統會提示您建立事件中樞連線。

  1. 顯示提示時,請選擇下列其中一個選項:

    • 提供下列連線資訊:

      屬性 必填 Description
      連線名稱 Yes <connection-name> 要為連線建立的名稱
      事件中樞命名空間 Yes <event-hubs-namespace> 選取您要使用的事件中樞命名空間。
    • 若要手動輸入您先前儲存的連接字串,請選取 [手動輸入連線資訊]。 了解如何尋找您的連接字串

  2. 選取要使用的事件中樞原則 (若尚未選取),然後選取 [建立]

    此螢幕擷取畫面顯示選取 [建立] 時提供的連線資訊。

  3. 您在建立連線之後,請繼續新增事件中樞觸發程序新增事件中樞動作

新增事件中樞觸發程序

在 Azure Logic Apps 中,每個工作流程都必須使用觸發程序啟動,觸發程序會在符合特定條件時引發。 每次觸發程序引發時,Logic Apps 服務都會建立工作流程執行個體,並開始執行工作流程中的步驟。

下列步驟說明新增觸發程序的一般方式,例如當事件可用於事件中樞時。 此範例示範如何新增觸發程序,以檢查事件中樞中的新事件,並在新事件存在時啟動工作流程執行。

  1. 在 Logic Apps 設計工具中,開啟空白的邏輯應用程式工作流程 (如果尚未開啟)。

  2. 在作業搜尋方塊中,輸入 event hubs。 從觸發程序清單中,選取名為 [當事件可用於事件中樞時] 的觸發程序。

    選取觸發程序

  3. 如果系統提示您建立事件中樞連線,請提供要求的連線資訊

  4. 在觸發程序中,提供您要監視的事件中樞相關資訊,例如:

    屬性 必要 描述
    事件中樞名稱 Yes 您要監視的事件中樞名稱
    內容類型 No 事件的內容類型。 預設值為 application/octet-stream
    取用者群組名稱 No 事件中樞取用者群組名稱用於讀取事件。 若未指定,就會使用預設取用者群組。
    事件計數上限 No 事件數目上限。 觸發程序傳回的事件數目會介於 1 到這個屬性指定的數目之間。
    間隔 Yes 描述工作流程根據 frequency 多久執行一次的正整數
    頻率 Yes 用於週期的時間單位

    如需其他屬性,請開啟 [新增參數] 清單。 選取參數會將該屬性新增至觸發程序,例如:

    觸發程序屬性

    其他屬性

    屬性 必要 描述
    內容結構描述 No 要從事件中樞讀取的事件所適用的 JSON 內容結構描述。 例如,如果您指定內容結構描述,可以只針對符合結構描述的事件觸發工作流程。
    最小分割區索引鍵 No 輸入要讀取的最小分割區識別碼。 預設會讀取所有分割區。
    最大分割區索引鍵 No 輸入要讀取的最大分割區識別碼。 預設會讀取所有分割區。
    時區 No 只有當您有指定開始時間時才適用,因為此觸發程序並不接受 UTC 時差。 選取您要套用的時區。

    如需詳細資訊,請參閱使用 Azure Logic Apps 建立及執行週期性工作和工作流程

    開始時間 No 提供下列格式的開始時間:

    YYYY-MM-DDThh:mm:ss (如果您選取時區)

    -或-

    YYYY-MM-DDThh:mm:ssZ (如果您未選取時區)

    如需詳細資訊,請參閱使用 Azure Logic Apps 建立及執行週期性工作和工作流程

  5. 當完成設計師工具列時,請選取儲存

  6. 現在繼續新增一或多個動作,讓您可以使用觸發程序輸出來執行其他工作。

    舉例來說,若要根據特定值篩選事件 (例如類別),您可以新增條件,讓傳送事件動作只傳送符合條件的事件。

觸發輪詢行為

所有事件中樞觸發程序都是長時間輪詢的觸發程序。 此行為表示當引發觸發程序時,觸發程序會處理所有事件,並等候 30 秒,等待事件中樞顯示更多事件。 根據設計,如果在 30 秒內未出現任何事件,則會略過此觸發程序。 否則,觸發程序會繼續讀取事件,直到事件中樞沒有任何事件為止。 下一次發生觸發程序輪詢的時間,會根據您在觸發程序屬性中設定的循環間隔而定。

例如,如果觸發程序設定了四個分割區,則此延遲最多可能需要兩分鐘的時間,才能讓觸發程序完成所有分割區的輪詢。 如果在此延遲期間內沒收到任何事件,就會略過觸發程序執行。 否則,觸發程序會繼續讀取事件,直到事件中樞沒有任何事件為止。 下一次發生觸發程序輪詢的時間,會根據您在觸發程序屬性中指定的循環間隔而定。

如果您知道訊息出現所在的特定分割區,您可以藉由設定觸發程序的分割索引鍵數上限和下限,將觸發程序更新為只讀取這個或這些分割區中的事件。 如需詳細資訊,請檢閱新增事件中樞觸發程序一節。

觸發程序檢查點行為

當事件中樞觸發程序從事件中樞的每個分割區讀取事件時,觸發程序會使用自己的狀態來維護串流位移的相關資訊 (分割區中的事件位置) 以及觸發程序從中讀取事件的分割區。

每次執行工作流程時,觸發程序都會讀取分割區中的事件,從觸發程序狀態所保留的串流位移開始。 觸發程序會以循環配置資源的形式,逐一查看事件中樞的每一個分割區,並在後續觸發程序執行時讀取事件。 單次執行一次會從一個分割區取得事件。

觸發程序不會在儲存體中使用這個檢查點功能,因此不會產生額外費用。 不過,重點在於更新事件中樞觸發程序會重設觸發程序狀態,這可能會導致觸發程序在串流開始時讀取事件。

新增事件中樞動作

在 Azure Logic Apps 中,動作會遵循此觸發程序或其他動作,並在工作流程中執行一些作業。 下列步驟說明新增動作的一般方式,例如傳送事件。 在此範例中,工作流程會從事件中樞觸發程序開始,檢查事件中樞內的新事件。

  1. 在 Logic Apps 設計工具中,開啟邏輯應用程式工作流程 (如果尚未開啟)。

  2. 在觸發程序或其他動作下,新增步驟。

    若要在現有步驟之間新增步驟,請將滑鼠放在箭頭上。 選擇所顯示的加號 (+),然後選取 [新增動作]。

  3. 在作業搜尋方塊中,輸入 event hubs。 從動作清單中,選取名為 [傳送事件] 的動作。

    選取 [傳送事件] 動作

  4. 如果系統提示您建立事件中樞連線,請提供要求的連線資訊

  5. 在此動作中,請提供您要傳送的事件相關資訊。

    屬性 必要 描述
    事件中樞名稱 Yes 您要用來傳送事件的事件中樞
    內容 No 您要傳送事件的內容
    屬性 No 要傳送的應用程式屬性與值
    分割區索引鍵 No 要用來傳送事件的分割區識別碼

    如需其他屬性,請開啟 [新增參數] 清單。 選取參數會將該屬性新增至動作,例如:

    選取事件中樞名稱並提供事件內容

    例如,您可以將輸出從事件中樞觸發程序傳送至另一個事件中樞:

    傳送事件範例

  6. 當完成設計師工具列時,請選取儲存

連接器參考

如需所有作業和其他技術資訊,例如屬性、限制等,請檢閱事件中樞連接器的參考頁面

下一步