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

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

重要事項

自 2026 年 8 月起,MQ 管理 連接器已不再被應用於工作流程中。

Azure Logic Apps Standard 內建的 MQ 連接器功能更佳。 請盡快將您的工作流程遷移到使用此版本。

本指南說明如何使用 MQ 連接器,從 Azure Logic Apps 中的工作流程存取 Azure 裝載或內部部署的 MQ 伺服器。 然後,您可以建立自動化工作流程,以接收並傳送儲存在 MQ 伺服器中的訊息。 例如,您的工作流程可以瀏覽佇列中的單一訊息,然後執行其他動作。

MQ 連接器提供 Microsoft MQ 用戶端的包裝函式,其中包含跨 TCP/IP 網路與遠端 MQ 伺服器通訊的所有傳訊功能。 此連接器會定義用來呼叫 MQ 用戶端的連線、作業和參數。

支援的 IBM WebSphere MQ 版本

  • MQ 7.5
  • MQ 8.0
  • MQ 9.0、9.1、9.2 與 9.3

連接器技術參考

根據邏輯應用程式類型和主機環境,MQ 連接器會有不同的版本。

邏輯應用程式 環境 連線版本
使用量 多租用戶 Azure Logic Apps 受控連接器 (顯示於 [共用] 篩選下的連接器資源庫中)。 此連接器僅提供動作,不提供觸發程序。 在內部部署 MQ 伺服器案例中,受控連接器僅支援使用 TLS (SSL) 加密進行驗證的伺服器。

如需詳細資訊,請參閱下列文件:

- MQ 受控連接器參考
- Azure Logic Apps 的受控連接器
Standard 單一租用戶 Azure Logic Apps 和 App Service 環境 v3 (僅限 ASE v3 搭配 Windows 方案) Managed 連接器,其會出現在 [ 共享 篩選] 下的連接器資源庫中,而內建連接器會出現在 [ 內建 篩選] 底下的連接器資源庫中,且是以 服務提供者為基礎。 內建版本在以下方面有相異之處:

- 內建版本包含動作和觸發程序。

- 內建連接器可以使用連接字串直接連線至 MQ 伺服器並存取 Azure 虛擬網路,而無需內部部署資料閘道。

- 內建版本針對傳輸中資料同時支援使用 TLS (SSL) 加密的伺服器驗證和伺服器-用戶端驗證、傳送和接收作業的訊息編碼,以及 Azure 虛擬網路整合。

如需詳細資訊,請參閱下列文件:

- MQ 受控連接器參考
- MQ 內建連接器參考
- Azure Logic Apps 中的內建連接器

使用 TLS (SSL) 加密驗證

根據您是使用 MQ 受控連接器 (使用量或標準工作流程)或 MQ 內建連接器 (僅限標準工作流程),MQ 連接器會支援下列其中一個或兩個驗證方向:

驗證 支援的邏輯應用程式類型和 MQ 連接器 Process
僅限伺服器
(單向)
- 使用量:僅限受控

- 標準:受控或內建
針對伺服器驗證,MQ 伺服器會將公開信任或非公開信任的私密金鑰憑證傳送至邏輯應用程式用戶端以進行驗證。 MQ 連接器使用標準 .NET SSL 串流驗證,針對公開金鑰憑證 (也稱為簽署者憑證) 驗證傳入伺服器憑證的真確性。

邏輯應用程式工作流程不會傳送用戶端憑證。
伺服器-用戶端
(雙向)
- 使用量:不支援

- 標準:僅限內建
如需伺服器驗證,請參閱上一列。

針對用戶端驗證,邏輯應用程式用戶端傳送私密金鑰憑證至您的 MQ 伺服器以供驗證。 MQ 伺服器也會使用公開金鑰憑證來驗證傳入用戶端憑證的真確性。

重要事項

一律保護機密和個人資料,例如認證、秘密、存取密鑰、連接字串、憑證、指紋,以及具有最高可用或支援安全性層級的類似資訊。

務必使用 Microsoft Entra ID 和 Azure Key Vault 安全地儲存這類資訊。 請勿硬式編碼此資訊、與其他用戶共用,或以純文本形式儲存其他人可存取的任何位置。 設定計劃,以在秘密遭洩漏時,輪替或撤銷秘密。 如需詳細資訊,請參閱下列資源:

私密金鑰和公開金鑰憑證的相關注意事項

  • 需要驗證的憑證一律是私密金鑰憑證。 用來執行驗證的憑證一律是公開金鑰憑證。

  • 公開信任的私密金鑰憑證是由獲認可的憑證授權單位核發。 非公開信任的私密金鑰憑證包括自我簽署、私人 CA 和類似的憑證。

  • 若要驗證從 MQ 伺服器傳送的私密金鑰憑證,MQ 連接器會使用通常存在於您邏輯應用程式的虛擬機器主機上 (在主機的受信任根憑證授權單位 (CA) 存放區中) 的公開金鑰憑證。

    不過,如果主機沒有所有必要的公開金鑰憑證,或您的 MQ 伺服器傳送非公開信任的私密金鑰憑證,您需要採取額外的步驟。 如需詳細資訊,請參閱必要條件。

  • 若要驗證從標準邏輯應用程式傳送的用戶端私密金鑰憑證,MQ 伺服器會使用存在於 MQ 伺服器憑證存放區中的公開金鑰憑證。 若要為邏輯應用程式新增私密金鑰憑證,以作為用戶端憑證,請參閱新增私密金鑰憑證。

限制

  • 使用 TLS (SSL) 加密驗證

    MQ 連接器 支援的驗證方向
    受控 僅限伺服器 (單向)
    內建 - 伺服器-用戶端 (雙向)
    - 僅限伺服器 (單向)
  • 伺服器憑證驗證

    MQ 內建連接器不會驗證伺服器憑證的到期日或憑證鏈結。

  • 字元集轉換

    • MQ 受控連接器不會進行任何字元集轉換,也不會使用訊息的格式欄位。 連接器只會複製訊息欄位中出現的任何資料,並隨著訊息傳送。

    • MQ 內建連接器可以進行字元集轉換,但只有在資料格式為字串時。 如果您提供不同的字元集識別碼 (字碼頁),連接器會嘗試將資料轉換為新的字碼頁。

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

如需詳細資訊,請檢閱 MQ 受控連接器參考或 MQ 內建連接器參考。

先決條件

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

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

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

    附註

    您在以下情況無需閘道:

    • 您的 MQ 伺服器已公開提供或可透過 Azure 取得。
    • 您將使用 MQ 內建連接器,而不是受控連接器。
  • 要存取 MQ 伺服器所在的邏輯應用程式資源和工作流程。

    • 若要使用 MQ 受控連接器搭配內部部署資料閘道,邏輯應用程式資源必須使用與 Azure 中閘道資源相同的位置。

    • 若要使用未提供任何觸發程序的 MQ 受控連接器,請確定您的工作流程是使用觸發程序啟動,或您先將觸發程序新增至工作流程。 例如,讓您可利用 重複觸發器 。

    • 若要使用 MQ 內建連接器的觸發程序,請務必從空白工作流程開始。

  • 使用 TLS (SSL) 加密的驗證所需之憑證

  • 加密規格需求

    MQ 伺服器需要您定義使用 TLS (SSL) 加密之連線的加密規格。 此加密規格必須與 MQ 伺服器執行的作業系統所支援、選擇和使用之加密套件相符。 最後,用戶端連線所使用的加密規格必須與 MQ 伺服器上的伺服器-連線通道所設定之加密套件相符合。

    如需詳細資訊,請參閱連線和驗證問題。

新增 MQ 觸發程序 (僅限標準邏輯應用程式)

以下步驟僅適用於標準邏輯應用程式工作流程,其可以使用 MQ 內建連接器提供的觸發程式。 MQ 受控連接器未包含任何觸發程序。

這些步驟會使用 Azure 入口網站進行,但若搭配適當的 Azure Logic Apps 擴充功能,也可以使用 Visual Studio Code 來建立標準邏輯應用程式工作流程。

  1. 在 Azure 入口網站上,於設計工具中開啟您的空白邏輯應用程式工作流程。

  2. 遵循這些一般步驟來新增您想要的 MQ 內建觸發程序。 如需詳細資訊,請參閱 MQ 內建連接器觸發程序。

  3. 提供驗證連線所需的資訊。 當您完成時,選取 [建立]。

  4. 觸發程序資訊方塊出現時,提供觸發程序的必要資訊。

  5. 完成後,請儲存您的工作流程。 在設計工具的工具列上,選取 [儲存]。

加入 MQ 動作

使用量邏輯應用程式工作流程只能使用 MQ 受控連接器。 不過,標準邏輯應用程式工作流程可以使用 MQ 受控連接器和 MQ 內建連接器。 每個版本都有多個動作。 例如,受控和內建連接器版本都有自己的動作來瀏覽訊息。

  • 受控連接器動作:這些動作會在使用量或標準邏輯應用程式工作流程中執行。

  • 內建連接器動作:這些動作只會在標準邏輯應用程式工作流程中執行。

下列步驟會使用 Azure 入口網站進行,但若搭配適當的 Azure Logic Apps 延伸模組,則也可以使用下列工具來建置邏輯應用程式工作流程:

  1. 在 Azure 入口網站中,在設計工具中開啟您的邏輯應用程式工作流程。

  2. 遵循這些一般步驟來新增您想要的 MQ 動作。 如需詳細資訊,請參閱 MQ 連接器動作。

  3. 提供驗證連線所需的資訊。 當您完成時,選取 [建立]。

  4. 動作資訊方塊出現時,提供動作的必要資訊。

  5. 完成後,請儲存您的工作流程。 在設計工具的工具列上,選取 [儲存]。

測試您的工作流程

若要檢查您的工作流程傳回您預期的結果,請執行工作流程,然後檢閱工作流程執行歷程記錄的輸出。

  1. 執行您的工作流程。

    • 取用工作流程:在工作流程設計工具的工具列上,選取 [執行]>[執行]。

    • 標準工作流程:在工作流程功能表中,選取 [設定] 下方的 [執行歷程記錄]。 在工具列上,選取 [執行]> [重新整理]。

    執行結束後,設計工具會顯示工作流程的執行歷程記錄以及每個步驟的狀態。

  2. 若要檢閱每個已執行 (未略過) 步驟的輸入及輸出,請展開或選取該步驟。

    • 若要檢視更多輸入詳細資料,請選取顯示原始輸入。

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

檢視和新增使用 TLS (SSL) 加密進行驗證的憑證

下列資訊僅適用使用 TLS (SSL) 加密運用僅限伺服器或伺服器-用戶端驗證的 MQ 內建連接器的標準邏輯應用程式工作流程。

檢視並確認現有公開金鑰憑證的指紋

若要檢查標準邏輯應用程式虛擬機器主機上受信任根 CA 存放區中是否存在必要公開金鑰憑證的指紋,請遵循下列步驟,從標準邏輯應用程式的資源功能表執行 cert PowerShell 指令碼。

  1. 在 Azure 入口網站中,開啟您的標準邏輯應用程式資源。 在邏輯應用程式資源功能表的 [開發工具] 下,選取 [進階工具]> [執行]。

  2. 從 Kudu [偵錯主控台] 功能表中,選取 [PowerShell]。

  3. PowerShell 視窗出現之後,從 PowerShell 命令提示字元執行下列指令碼:

    dir cert:\localmachine\root

    PowerShell 視窗會列出現有的指紋和描述,例如:

    螢幕擷取畫面,顯示範例指紋和描述。

新增公開金鑰憑證

遵循下列步驟,將公開金鑰憑證新增至標準邏輯應用程式執行的虛擬機器主機之可信任的根 CA 存放區中。

  1. 在 Azure 入口網站中,開啟您的標準邏輯應用程式資源。 在邏輯應用程式資源功能表的 [設定] 下,選取 [憑證]。

  2. 選取 [公開金鑰憑證 (.cer)] 索引標籤,然後選取 [新增憑證].

  3. 在開啟的 [新增公開金鑰憑證] 窗格中,尋找並選取要新增的公開金鑰憑證檔案 (.cer)。 輸入自訂名稱來描述憑證。 完成後,選取 [新增]。

  4. 新增憑證之後,從 [指紋] 資料行,複製憑證的指紋值。

    螢幕擷取畫面,顯示標準邏輯應用程式與選取的專案:憑證、公開金鑰憑證和新增憑證。

  5. 在邏輯應用程式資源功能表上,選取 [設定]。

  6. 在 [應用程式設定] 索引標籤上,選取 [新增應用程式設定]。 新增名為 WEBSITE_LOAD_ROOT_CERTIFICATES 的新應用程式設定,然後輸入您先前複製的憑證指紋值。 如果您有多個憑證指紋值,請務必以逗號分隔每個值 (,)。

    如需詳細資訊,請參閱在單一租用戶 Azure Logic Apps 中,編輯標準邏輯應用程式的主機和應用程式設定。

    附註

    如果您指定私人 CA 憑證的指紋,MQ 內建連接器不會執行任何憑證驗證,例如檢查憑證的到期日或來源。 如果標準 .NET SSL 驗證失敗,連接器只會將傳入的任何指紋值與 WEBSITE_LOAD_ROOT_CERTIFICATES 設定中的值比較。

  7. 如果新增的憑證未出現在公開金鑰憑證清單中,請在工具列上選取 [重新整理]。

新增私密金鑰憑證

遵循以下步驟以將私密金鑰憑證新增至執行標準邏輯應用程式之虛擬機器主機上的可信任的根 CA 存放區。

  1. 在 Azure 入口網站中,開啟您的邏輯應用程式資源。 在邏輯應用程式資源功能表的 [設定] 下,選取 [憑證]。

  2. 選取 [自備憑證 (.pfx)] 索引標籤,然後選取 [新增憑證]。

    螢幕擷取畫面,顯示具有所選選項的標準邏輯應用程式:憑證、自備憑證,以及新增憑證。

  3. 在開啟的 [新增私密金鑰憑證] 窗格中,於 [來源] 下選取下列其中一個選項:

    • 上傳證書 (.pfx)

      1. 提供下列值:

        參數 描述
        PFX 憑證檔案 尋找並選取您的私密金鑰憑證 (.pfx) 檔案。
        憑證密碼 輸入您匯出 PFX 檔案時所建立的密碼。
        憑證自訂名稱 輸入要顯示在邏輯應用程式資源中的憑證名稱。
      2. 完成後,請選取 [驗證]>[新增]。

    • 從 金鑰保存庫 匯入。

      1. 選取 [選取金鑰保存庫憑證] 並提供下列值:

        參數 描述
        訂用帳戶 選取與 Key Vault 相關聯的 Azure 訂用帳戶。
        金鑰保存庫 選取具有私密金鑰憑證 (.pfx) 檔案的金鑰保存庫。
        [MSSQLSERVER 的通訊協定內容] 在金鑰保存庫中選取 PKSCS12 憑證。 保存庫中的所有 PKCS12 憑證都會列在指紋下,但並非所有都支援 Azure Logic Apps。
      2. 完成後,選取 [選取]>[驗證]>[新增]。

  4. 新增憑證之後,從 [指紋] 資料行,複製憑證的指紋值。

  5. 在邏輯應用程式資源功能表的 [設定] 下,選取 [組態]。

  6. 在 [應用程式設定] 索引標籤上,選取 [新增應用程式設定]。 新增名為 WEBSITE_LOAD_CERTIFICATES 的新應用程式設定,然後輸入您先前複製的憑證指紋值。

    如需詳細資訊,請參閱在單一租用戶 Azure Logic Apps 中,編輯標準邏輯應用程式的主機和應用程式設定。

  7. 如果新增的憑證未出現在私密金鑰憑證清單中,請在工具列上選取 [重新整理]。

  8. 使用 MQ 內建連接器建立連線時,請在 [連線資訊] 方塊中,選取 [使用 TLS]。

  9. 在 [用戶端憑證指紋] 屬性中,輸入先前為私密金鑰憑證複製的指紋值,其可啟用伺服器用戶端 (雙向) 驗證。 如果您未輸入指紋值,則連接器會使用僅限伺服器 (單向) 驗證。

    此螢幕擷取畫面顯示標準工作流、MQ 內建連線方塊、已選取使用 TLS 屬性,以及具有指紋值的用戶端憑證指紋屬性。

問題疑難排解

瀏覽或接收動作失敗

如果對空佇列執行流覽或接收動作,此動作將失敗,其標題輸出如下:

螢幕擷取畫面,顯示名為 No message 的 MQ 錯誤。

連線和驗證問題

當您的工作流程使用 MQ 受控連接器連線到內部部署 MQ 伺服器,您可能會收到下列錯誤:

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

  • MQ 伺服器必須提供受信任的憑證授權單位所核發的憑證。

  • MQ 伺服器要求您定義要與 TLS 連線搭配使用的密碼規格。 不過,為了安全起見,並包含最佳的安全性套件,Windows 作業系統會傳送一組受支援的加密規格。

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

    當您嘗試連線時,MQ 伺服器會記錄事件訊息,指出由於 MQ 伺服器選擇了不正確的加密規格,連接嘗試失敗。 事件訊息包含 MQ 伺服器從清單選取的加密規格。 在伺服器-連線通道設定,更新加密規格以符合事件訊息的密碼規格。