從 Azure Logic Apps 中的工作流程連線到 IBM MQ 伺服器

適用於:Azure Logic Apps (使用量 + 標準)

MQ 連接器可協助您將邏輯應用程式工作流程連線到內部部署或 Azure 中的 IBM MQ 伺服器。 然後,您可以讓工作流程接收並傳送儲存在 MQ 伺服器中的訊息。 本文提供使用 MQ 連接器的入門指南,說明如何連線到 MQ 伺服器,並將 MQ 動作新增至工作流程。 例如,您可以從流覽佇列中的單一訊息開始,然後嘗試其他動作。

此連接器包含Microsoft MQ 用戶端,可透過 TCP/IP 網路與遠端 MQ 伺服器通訊。 您可以連線到下列 IBM WebSphere MQ 版本:

  • MQ 7.5
  • MQ 8.0
  • MQ 9.0、9.1 和 9.2

可用的作業

  • 取用邏輯應用程式:您只能使用 受控 MQ 連接器連線到 MQ 伺服器。 此連接器僅提供動作,沒有觸發程式。

  • 標準邏輯應用程式:您可以使用受控 MQ 連接器來連線到 MQ 伺服器,其中 包含動作,或內 MQ 作業,其中包括觸發 程式和 動作。

如需受控連接器與內建作業之間差異的詳細資訊,請檢閱 Logic Apps 中的重要詞彙

下列清單僅描述 MQ 可用的一些受控作業:

  • 流覽單一訊息或訊息陣列,而不需從 MQ 伺服器刪除。 對於多個訊息,您可以指定要針對每個批次傳回的訊息數目上限。 否則會傳回所有訊息。
  • 從 MQ 伺服器刪除單一或訊息陣列。
  • 接收單一訊息或訊息陣列,然後從 MQ 伺服器中刪除。
  • 將單一訊息傳送至 MQ 伺服器。

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

限制

  • MQ 連接器不支援分段訊息。

  • MQ 連接器不會使用訊息的 [ 格式 ] 欄位,也不會進行任何字元集轉換。 連接器只會將訊息欄位中出現的任何資料放入 JSON 訊息中,並傳送訊息。

必要條件

  • Azure 帳戶和訂用帳戶。 如果您沒有 Azure 訂用帳戶,請先註冊免費的 Azure 帳戶

  • 如果您是使用內部部署 MQ 伺服器,請在您網路內的伺服器上安裝內部部署資料閘道。 若要讓 MQ 連接器運作,具有內部部署資料閘道的伺服器也必須安裝 .NET Framework 4.6。

    安裝閘道之後,您也必須在 Azure 中建立資料閘道資源。 MQ 連接器會使用此資源來存取 MQ 伺服器。 如需詳細資訊,請檢閱 設定資料閘道連線

    注意

    在下列案例中,您不需要閘道:

    • 您將使用內建作業,而不是受控連接器。
    • 您的 MQ 伺服器可在 Azure 中公開使用或可供使用。
  • 您要在其中存取 MQ 伺服器的邏輯應用程式工作流程。 邏輯應用程式資源必須與 Azure 中的閘道資源位置相同。

    MQ 連接器沒有任何觸發程式,因此您的工作流程必須已經以觸發程式啟動,或您必須先將觸發程式新增至工作流程。 例如,您可以使用 週期觸發程式

    如果您不熟悉 Azure Logic Apps,請嘗試本 快速入門來建立範例邏輯應用程式工作流程,此工作流程會在多租使用者 Logic Apps 服務中執行。

建立 MQ 連線

當您第一次新增 MQ 動作時,系統會提示您建立與 MQ 伺服器的連線。

注意

MQ 連接器目前僅支援「伺服器驗證」,不支援「用戶端驗證」。 如需詳細資訊,請參閱連線和驗證問題

  1. 如果您要連線到內部部署 MQ 伺服器,請選取 [透過內部部署資料閘道連線]。

  2. 提供 MQ 伺服器的連線資訊。

    屬性 內部部署或 Azure 描述
    閘道 僅內部部署 選取 [透過內部部署資料閘道連線]。
    連線名稱 兩者 用於連線的名稱
    Server 兩者 下列其中一個值:- MQ 伺服器主機名稱 - IP 位址,後面接著冒號和埠號碼
    佇列管理員名稱 兩者 您想要使用的佇列管理員
    通道名稱 兩者 連線至佇列管理員的通道
    預設佇列名稱 兩者 佇列的預設名稱
    連線為 兩者 連線至 MQ 伺服器的使用者名稱
    使用者名稱 兩者 您的使用者名稱認證
    密碼 兩者 您的密碼認證
    啟用 SSL? 僅內部部署 使用傳輸層安全性 (TLS) 或安全通訊端層 (SSL)
    閘道 - 訂用帳戶 僅內部部署 與 Azure 中閘道資源相關聯的 Azure 訂用帳戶
    閘道 - 連線閘道 僅內部部署 要使用的閘道資源

    例如:

    顯示受控 MQ 連線詳細資料的螢幕擷取畫面。

  3. 當您完成時,選取 [建立]。

新增 MQ 動作

在 Azure Logic Apps 中,動作會遵循觸發程式或其他動作,並在工作流程中執行一些作業。 下列步驟說明新增動作的一般方式,例如 流覽單一訊息

  1. 在 Logic Apps 設計工具中,如果尚未開啟,請開啟您的工作流程。

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

    若要在現有步驟之間新增步驟,請將滑鼠移至箭號上方。 選取出現的加號 (+) ,然後選取 [ 新增動作]。

  3. 在作業搜尋方塊中,輸入 mq 。 從動作清單中,選取名為 [流覽] 訊息的動作。

  4. 如果系統提示您建立與 MQ 伺服器的連線,請 提供要求的連線資訊

  5. 在 動作中,提供動作所需的屬性值。

    如需更多屬性,請開啟 [ 新增參數 ] 清單,然後選取您要新增的屬性。

  6. 完成後,在設計工具的工具列上,選取 [儲存]。

  7. 若要測試工作流程,請在設計工具工具列上,選取 [ 執行]。

    執行完成之後,設計工具會顯示工作流程的執行歷程記錄,以及步驟的狀態。

  8. 若要檢閱 (未略過) 之每個步驟的輸入和輸出,請展開或選取步驟。

    • 若要檢閱更多輸入詳細資料,請選取 [顯示原始輸入]。
    • 若要檢閱更多輸出詳細資料,請選取 [顯示原始輸出]。 如果您將 IncludeInfo 設定為 true,則會包含更多輸出。

問題疑難排解

流覽或接收動作失敗

如果您在空佇列上執行流覽或接收動作,動作會失敗,並顯示下列標頭輸出:

MQ 無訊息錯誤

連線和驗證問題

當您的工作流程嘗試連線到內部部署 MQ 伺服器時,您可能會收到此錯誤:

"MQ: Could not Connect the Queue Manager '<queue-manager-name>': The Server was expecting an SSL connection."

  • 如果您,是直接在 Azure 中使用 MQ 連接器,MQ 伺服器就必須使用由受信任的憑證授權單位發行的憑證。

  • MQ 伺服器會要求您定義加密規格,以搭配 TLS 連線使用。 不過,基於安全性目的,以及包含最佳安全性套件,Windows 作業系統會傳送一組支援的加密規格。

    MQ 伺服器執行所在的作業系統會選擇要使用的套件。 若要讓組態相符,您必須變更 MQ 伺服器設定,讓加密規格符合 TLS 交涉中選擇的選項。

    當您嘗試連線時,MQ 伺服器會記錄連線嘗試失敗的事件訊息,因為 MQ 伺服器選擇不正確的加密規格。 事件訊息包含 MQ 伺服器從清單中選擇的加密規格。 在通道組態中,更新加密規格,以符合事件訊息中的加密規格。

連接器參考

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

後續步驟