從 Azure IoT 數據處理器預覽管線呼叫 gRPC 端點
重要
已啟用 Azure Arc 的 Azure IoT 操作預覽版目前為預覽狀態。 請勿在生產環境使用此預覽版軟體。
請參閱 Microsoft Azure 預覽版增補使用規定,以了解適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的法律條款。
使用 gRPC 呼叫階段可呼叫具有選擇性要求本文的外部 gRPC,並接收選擇性回應。 呼叫階段可協助您將自訂資料處理邏輯 (例如執行機器學習模型) 整合至管線處理。
- 管線中每個分割區都會以平行方式獨立執行 API 呼叫。
- API 呼叫會同步執行,而階段會等待呼叫傳回後,再繼續執行下一步管線處理。
- 目前階段僅支援 一元 RPC 類型。
- gRPC 呼叫只能與 Protobuf 格式搭配使用。 您必須使用 Protobuf 搭配 gRPC 呼叫階段。
必要條件
若要設定並使用 gRPC 呼叫管線階段,您需要:
- 已部署的 Azure IoT 數據處理者預覽實例,其中包含選擇性的數據處理者元件。
- 可從資料處理器執行個體存取的 gRPC 伺服器。
- 要產生描述項的
protoc
工具。
設定 gRPC 呼叫階段
gRPC 呼叫階段 JSON 設定負責定義階段的詳細資料。 若要編寫階段,可透過與表單架構使用者介面互動,或在 [進階] 索引標籤上提供 JSON 設定。
名稱 | 類型 | 描述 | 是必要欄位 | 預設 | 範例 |
---|---|---|---|---|---|
名稱 | 字串 | 用於顯示在資料處理器使用者介面中的名稱。 | Yes | - | MLCall2 |
描述 | string | 使用者易記的呼叫階段功能描述。 | No | Call ML endpoint 2 |
|
Server address | string | gRPC 伺服器位址。 | Yes | - | https://localhost:1313 |
RPC 名稱 | string | 要呼叫的 RPC 名稱 | Yes | - | GetInsights |
描述項1 | string | base 64 編碼描述項。 | Yes | - | CuIFChxnb29nb |
驗證 | string | 要使用的驗證類型。 None /Metadata . |
Yes | None |
None |
中繼資料索引鍵 | string | 當 Authentication 設定為 Metadata 時要使用的中繼資料索引鍵。 |
No | authorization |
authorization |
祕密 | string | 當 Authentication 設定為 Metadata 時使用的祕密參考。 |
No | - | mysecret |
啟用 TLS | boolean | 是否要啟用 TLS。 資廖處理器目前支援使用公用憑證進行 TLS 型驗證。 | No | false |
true |
API 要求 > 本文路徑 | 路徑 | 應該序列化並設定為要求本文之資料處理器訊息部分的路徑。 如果不須傳送要求本文,請保持空白。 | No | - | .payload.gRPCRequest |
API 要求 > 中繼資料 > 金鑰2 | 靜態/動態欄位 | 在要求中設定的中繼資料金鑰。 | No | 靜態/動態欄位 | |
API 要求 > 中繼資料 > 值2 | 靜態/動態欄位 | 在要求中設定的中繼資料值。 | No | 靜態/動態欄位 | |
API 要求 > 本文路徑 | 路徑 | 傳出訊息中用於儲存回應之屬性的路徑。 如果不需要回應本文,請保持空白。 | No | - | .payload.gRPCResponse |
API 回應 > 中繼資料 | 路徑 | 傳出訊息中用於儲存回應中繼資料之屬性的路徑。 如果不需要回應中繼資料,請保持空白。 | No | - | .payload.gRPCResponseHeader |
API 回應 > 狀態 | 路徑 | 傳出訊息中用於儲存回應狀態之屬性的路徑。 如果不需要回應狀態,請保持空白。 | No | - | .payload.gRPCResponseStatus |
1描述元:因為 gRPC 呼叫階段只支援 protobuf 格式,因此您會針對要求和回應使用相同的格式定義。 若要序列化要求本文並還原序列化回應本文,您需要 .proto 檔案的 Base 64 編碼描述項。
使用下列命令來產生描述項,以 .proto 檔案的名稱取代 <proto-file>
:
protoc --descriptor_set_out=/dev/stdout --include_imports <proto-file> | base64 | tr '\n' ' ' | sed 's/[[:space:]]//g'
使用上一個指令的輸出作為組態中的 descriptor
。
2API 要求 > 元數據:元數據陣列中的每個元素都是索引鍵值組。 您可以根據傳入訊息的內容動態設定為索引鍵或值,或設定為靜態字串。
相關內容
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應