本文將示範如何在 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:
- Azure 事件方格: 將MQTT數據傳送到 Azure 事件方格,並喺 Eventstream 設定 Azure 事件方格 connector. 欲了解更多資訊,請參閱 「新增 Azure 事件網格命名空間作為事件串流的來源」。
- Azure IoT 操作:配置一個連接 Eventstream 自訂端點的資料流端點。 欲了解更多資訊,請參閱 設定 Microsoft Fabric Real-Time Intelligence 的資料流端點。
新增 MQTT 連接器
你可以用兩種方式將 MQTT 連接器加入 Eventstream:
來自事件流
直接將 MQTT 來源加入事件串流。 這種方法最適合你想建立專用事件串流來處理和路由 MQTT 資料。
來自 Real-Time 中心
從 Real-Time hub 連接到 MQTT 來源並建立資料流。 當你想與其他串流來源一起發現和管理你的 MQTT 資料流時,這種方法效果最佳。
設定 MQTT 連接器
在連線頁面上,選取新增連線。
如果已經有 MQTT 來源的連線,請選取該現有的連線。
要建立新的雲端連線,請輸入以下資訊:
MQTT 經紀商網址:輸入你的 MQTT 經紀商的網址。 支援的協議有
ssl://、wss://、tcp://和 。Note
MQTT 來源端支援透過傳輸層安全(TLS)或安全套接字層(SSL)保護的 MQTT 連接,將您的 MQTT 中介與 Eventstream 連接起來。 TLS 或 SSL 連線僅在伺服器憑證由 受信任憑證清單中包含的憑證授權機構(CA)簽署時才被支援。
連線名稱:輸入連接 MQTT 的名稱。
輸入你 MQTT 經紀商的 用戶名 和 密碼 。
選擇 連線。
主題 名稱請輸入 MQTT 主題以訂閱。 連接器僅支援單一主題。
在 版本 中,根據你的 MQTT 代理伺服器的協定版本選擇 V5 或 V3。
如果你的 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)。 |
串流或來源詳情
在 Connect 頁面,根據你使用的是 Eventstream 還是 Real-Time hub,依照以下步驟進行。
Eventstream:
在右側 的來源詳情 窗格中,請依照以下步驟操作:
對於 來源名稱,請選擇 鉛筆 按鈕來更改名稱。
請注意,事件流名稱 和 串流名稱 為唯讀。
實時樞紐:
在右側的 [串流詳細數據 ] 區段中,遵循下列步驟:
選擇你想建立事件串流的 Fabric 工作區 。
對於 事件串流名稱,請選擇 鉛筆 按鈕,並輸入事件串流的名稱。
串流名稱的值會自動為您生成,方法是將-stream附加到事件流名稱上。 當嚮導結束時,這條串流會出現在即時集線器的 「所有資料串流」 頁面上。
在「配置」頁面底部選擇「下一步」。
評論與連結
在 Review + connect 畫面,檢視摘要,選擇 新增 (事件串流)或 連接 (Real-Time hub)。
檢視更新的事件串流
相關內容
如需所有支援來源的清單,請參閱 新增和管理事件來源。