將 MQTT 來源新增至事件串流 (預覽)

本文將示範如何在 Fabric Real-Time Intelligence 中的事件串流中新增訊息佇列遙測傳輸(MQTT)來源。

訊息佇列遙測傳輸(MQTT)是一種輕量級的發佈-訂閱訊息協定,專為受限環境設計,並廣泛應用於物聯網(IoT)場景。 Fabric Eventstream 的 MQTT 連接器允許您連接任何 MQTT 代理,並直接將訊息匯入 Eventstream,實現即時轉換與路由至 Fabric 內的多個目的地,以提供分析與洞察。

先決條件

開始之前,您必須完成下列必要條件:

  • 具備 Fabric 容量的工作區或 Fabric 試用版 工作區類型。

  • 擁有貢獻者或更高階的工作區角色即可存取工作區。

  • 確定 MQTT 代理程式是可公開存取的狀態,不受防火牆或虛擬網路限制。 如果它位於受保護的網路中,請使用 Eventstream 連接器虛擬網路注入連接。

  • 如果你打算使用 TLS/mTLS 設定,請確保所需的憑證在 Azure Key Vault 中都有:

    • 將所需的憑證以 .pem 格式匯入 Azure Key Vault。
    • 設定原始碼並預覽資料的使用者必須擁有存取金鑰庫憑證的權限(例如, 金鑰金庫憑證使用者金鑰金庫管理員)。
    • 如果目前使用者沒有所需的權限,Eventstream 無法從這個來源預覽資料。

根據你的情境,你也可以使用以下方法之一將 MQTT 資料串流到 Eventstream:

新增 MQTT 連接器

你可以用兩種方式將 MQTT 連接器加入 Eventstream:

來自事件流

直接將 MQTT 來源加入事件串流。 這種方法最適合你想建立專用事件串流來處理和路由 MQTT 資料。

  1. 在 Fabric Real-Time Intelligence 中,建立新的 事件串流 或開啟現有事件串流。

  2. 在畫布上選擇 新增來源

    截圖顯示事件串流畫布上新增來源選項。

來自 Real-Time 中心

Real-Time hub 連接到 MQTT 來源並建立資料流。 當你想與其他串流來源一起發現和管理你的 MQTT 資料流時,這種方法效果最佳。

  1. 請在 Fabric 中,前往 即時中心

  2. 選擇 新增資料 並搜尋 MQTT

    截圖顯示即時集線器中新增來源選項。

設定 MQTT 連接器

  1. 連線頁面上,選取新增連線

    這是顯示 [連線] 頁面中 [新增連結] 被突出顯示的螢幕快照。

    如果已經有 MQTT 來源的連線,請選取該現有的連線。

  2. 要建立新的雲端連線,請輸入以下資訊:

    顯示 [連線設定] 區段的螢幕擷取畫面。

    1. MQTT 經紀商網址:輸入你的 MQTT 經紀商的網址。 支援的協議有 ssl://wss://tcp://和 。

      Note

      MQTT 來源端支援透過傳輸層安全(TLS)或安全套接字層(SSL)保護的 MQTT 連接,將您的 MQTT 中介與 Eventstream 連接起來。 TLS 或 SSL 連線僅在伺服器憑證由 受信任憑證清單中包含的憑證授權機構(CA)簽署時才被支援。

    2. 連線名稱:輸入連接 MQTT 的名稱。

    3. 輸入你 MQTT 經紀商的 用戶名密碼

    4. 選擇 連線

  3. 主題 名稱請輸入 MQTT 主題以訂閱。 連接器僅支援單一主題。

  4. 版本 中,根據你的 MQTT 代理伺服器的協定版本選擇 V5V3

  5. 如果你的 MQTT 經紀商需要 mTLS,請展開 TLS/mTLS 設定 ,並依需求配置以下選項。

    • 信任 CA 憑證:啟用此選項以設定伺服器 CA 憑證。 選擇你的訂閱、資源群組和金鑰庫,然後提供憑證名稱。
    • 用戶端憑證與金鑰:啟用此選項以設定用戶端憑證與金鑰。
      • 使用相同的 CA 憑證金鑰庫:當兩個憑證存放在同一金鑰庫中時,請勾選此方框。 然後提供證書名稱。
      • 如果你沒有選擇這個勾選框,請選擇訂閱、資源群組和金鑰庫,然後輸入憑證名稱。

    Note

    本區塊的 TLS/mTLS 設定目前仍處於預覽階段。

    對於私有網路中的來源,請確保包含憑證的 Azure Key Vault 已連接到用於 Eventstream 連接器虛擬網路注入的 Azure 虛擬網路中的串流虛擬網路資料閘道(例如,透過私有端點進行連接)。

    顯示「配置連線設定」頁面的截圖。

TLS/mTLS 證書要求

如果您已設定 TLS/mTLS 設定,請參閱本節了解憑證格式規範及上傳至 Azure Key Vault 時常見的設定錯誤。

證書鏈

Certificate 鍵尺寸 簽名者 Purpose
CA 憑證 4096 位元 RSA 自行簽署 信任錨點——經紀人會根據這個 CA 驗證客戶憑證。
伺服器憑證 2048 位元 RSA CA 經紀人身份——客戶需確認經紀人是否為其聲稱的身份。
用戶端憑證 2048 位元 RSA CA 用戶端身份——經紀人驗證連接器是否已授權。

伺服器憑證 SAN 要求

伺服器憑證 必須 在主體替代名稱(SAN)中包含經紀人的 IP 位址與 DNS 名稱,才能通過主機名稱驗證(ssl.endpoint.identification.algorithm=https):

subjectAltName:
  DNS.1 = {broker FQDN}
  DNS.2 = localhost
  IP.1  = {broker public IP}
  IP.2  = 127.0.0.1

將憑證上傳到 Azure 金鑰保存庫

憑證以 Azure Key Vault憑證物件格式上傳,格式為 PEM 格式PEM 套件檔案是憑證 + 私鑰串接成一個檔案:

-----BEGIN CERTIFICATE-----
MIIExjCCA...
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIB...
-----END RSA PRIVATE KEY-----

使用符合關鍵屬性的 匯入政策

{
  "secretProperties": {
    "contentType": "application/x-pem-file"
  },
  "keyProperties": {
    "exportable": true,
    "keyType": "RSA",
    "keySize": 4096,
    "reuseKey": false
  },
  "issuerParameters": {
    "name": "Unknown"
  }
}

若要匯入憑證,請執行下列命令:

az keyvault certificate import \
  --vault-name {kvName} \
  --name {certName} \
  --file {pemBundleFile} \
  --policy @{policyFile}

常見的錯誤

避免 改做這個吧
上傳為 PKCS#12/PFX 使用 PEM 格式搭配 contentType: application/x-pem-file
上傳無私鑰的憑證 PEM 套件必須同時包含憑證與金鑰。
設定 keySize: 2048 為 4096 位元金鑰 keySize 數值必須與實際的金鑰大小相符。
設定 issuerParameters.name: "Self" 使用 "Unknown" 表示外部簽署的憑證。
使用 Windows 行結尾符(CRLF) PEM 檔案必須使用 Unix 行結尾符號(僅用 LF)。

串流或來源詳情

  1. Connect 頁面,根據你使用的是 Eventstream 還是 Real-Time hub,依照以下步驟進行。

    • Eventstream:

      在右側 的來源詳情 窗格中,請依照以下步驟操作:

      1. 對於 來源名稱,請選擇 鉛筆 按鈕來更改名稱。

      2. 請注意,事件流名稱串流名稱 為唯讀。

    • 實時樞紐:

      在右側的 [串流詳細數據 ] 區段中,遵循下列步驟:

      1. 選擇你想建立事件串流的 Fabric 工作區

      2. 對於 事件串流名稱,請選擇 鉛筆 按鈕,並輸入事件串流的名稱。

      3. 串流名稱的值會自動為您生成,方法是將-stream附加到事件流名稱上。 當嚮導結束時,這條串流會出現在即時集線器的 「所有資料串流」 頁面上。

  2. 「配置」頁面底部選擇「下一步」。

評論與連結

Review + connect 畫面,檢視摘要,選擇 新增 (事件串流)或 連接 (Real-Time hub)。

檢視更新的事件串流

  1. MQTT 原始碼會以 編輯 模式顯示在您的事件串流畫布上。 要發佈,請選擇色帶上的 「發佈 」。

    顯示已選取 [發佈] 按鈕之編輯器的螢幕快照。

  2. 發佈後,原始碼會在 Live View 中顯示。 請在圖中選擇 MQTT 圖塊以查看詳細資訊。

    顯示即時檢視中編輯器的螢幕快照。

如需所有支援來源的清單,請參閱 新增和管理事件來源