共用方式為


在數據處理者管線中設定 HTTP 端點來源階段

重要

已啟用 Azure Arc 的 Azure IoT 操作預覽版目前為預覽狀態。 請勿在生產環境使用此預覽版軟體。

當正式發行可供使用時,您將需要部署新的 Azure IoT 作業安裝,您將無法升級預覽安裝。

請參閱 Microsoft Azure 預覽版增補使用規定,以了解適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的法律條款。

來源階段是數據處理者管線中的第一個必要階段。 來源階段會將資料導入資料處理管線,準備進一步處理。 透過 HTTP 端點來源階段,您可根據使用者定義的間隔從 HTTP 端點讀取資料。 此階段具有選擇性要求本文,並可從端點接收回應。

在來源階段,您將定義:

  • HTTP 端點的連線詳細資料。
  • 呼叫 HTTP 端點的間隔。 此階段在等候到回應後才會重設間隔計時器。
  • 基於特定資料處理需求的資料分割設定。

必要條件

  • 包含選擇性數據處理者元件的已部署數據處理者實例。
  • 具備所有必要可用原始資料的 HTTP 端點可正常運作且可連線。

設定 HTTP 端點來源

若要設定 HTTP 端點來源:

  • 提供 HTTP 端點的詳細資料。 此組態須包含要使用的方法、URL 和要求承載。
  • 指定驗證方法。 目前僅支援以使用者名稱/密碼或標頭為基礎的驗證。

下表描述 HTTP 端點來源設定參數:

欄位 類型 描述 是必要欄位 預設 範例
名稱 String 客戶可見的來源階段名稱。 必要 NA erp-endpoint
描述 String 客戶可見的來源階段描述。 選擇性 NA Enterprise application data
方法 列舉 用於要求的 HTTP 方法。 為 GETPOST 其中之一 選擇性 GET GET
URL String 用於要求的 URL。 httphttps 兩者都支援。 必要 NA https://contoso.com/some/url/path
驗證 驗證類型 HTTP 要求的驗證方法。 為 NoneUsername/PasswordHeader 的其中之一。 選擇性 NA Username/Password
使用者名稱/密碼 > 使用者名稱 String 使用者名稱/密碼驗證的使用者名稱 Yes NA myuser
使用者名稱/密碼 > 祕密 Azure Key Vault 中儲存之密碼的參考。 Yes Yes AKV_USERNAME_PASSWORD
標頭 > 索引鍵 String 標頭型驗證的索引鍵名稱。 Yes NA Authorization
標頭 > 值 String Azure Key Vault 中用於標頭型驗證的認證名稱。 Yes NA AKV_PASSWORD
資料格式 格式 傳入資料的資料格式 必要 NA {"type": "json"}
API 要求 > 要求本文 String 隨 HTTP 要求傳送的靜態要求本文。 選擇性 NA {"foo": "bar"}
API 要求 > 標頭 索引鍵/值組 隨 HTTP 要求傳送的靜態要求標頭。 選擇性 NA [{"key": {"type":"static", "value": "asset"}, "value": {"type": "static", "value": "asset-id-0"}} ]
要求間隔 期間 以字串表示之下一次 API 呼叫前要等候的時間。 必要 10s 24h
資料分割 資料分割 來源階段的資料分割設定。 必要 NA 請參閱資料分割

若要深入瞭解秘密,請參閱 管理 Azure IoT Operations Preview 部署的秘密。

選取 [資料格式]

在數據處理者管線中, 來源階段中的格式 欄位會指定如何還原串行化傳入數據。 根據預設,數據處理者管線會使用 raw 格式,表示它不會轉換傳入數據。 若要在管線中使用許多數據處理者功能,例如 FilterEnrich 階段,您必須在輸入階段還原串行化您的數據。 您可以選擇將傳入資料從JSON、、jsonStreamMessagePackCBORCSVProtobuf 格式還原串行化為資料處理者可讀取的訊息,以使用完整的數據處理者功能。

下表描述不同的還原序列化設定選項:

欄位 描述 是必要欄位 預設
資料格式 資料格式的類型。 Yes Raw Raw JSON jsonStream MessagePack CBOR CSV Protobuf

Data Format 欄位為必要欄位,且其值將決定其他必要欄位。

若要還原序列化 CSV 訊息,您也必須指定下列欄位:

欄位 描述 必要 範例
頁首 CSV 資料是否包含標題行。 Yes Yes No No
名稱 CSV 中資料行的名稱 Yes - temp, asset
路徑 新增資料行資訊之訊息中的 jq 路徑 No - 預設的 jq 路徑為資料行名稱
資料類型 數據行中數據的數據類型,以及數據處理器管線內的表示方式。 No String、、 FloatIntegerBooleanBytes 預設:String

若要還原序列化 Protobuf 訊息,您也必須指定下列欄位:

欄位 描述 必要 範例
描述項 Protobuf 定義的 base64 編碼描述項。 Yes - Zhf...
訊息 用於格式化資料之訊息類型的名稱。 Yes - pipeline
套件 描述項中定義類別之套件的名稱。 Yes - schedulerv1

注意

數據處理者在每個 .proto 檔案中只支援一個訊息類型。

設定資料分割

管線中的資料分割功能會將傳入資料分割為不同的分割區。 資料分割可在管線中啟用資料平行處理原則,協助提高輸送量並減少延遲。 資料分割策略將影響資料在管線其他階段中的處理方式。 例如,上一個已知的值與彙總階段會在每個邏輯分割區上執行。

若要分割資料,請指定資料分割策略及要使用的分割區數目:

欄位 描述 是必要欄位 預設 範例
磁碟分割類型 要使用的資料分割類型:分割區 ID 或分割區 Key 必要 ID ID
分割區運算式 jq 運算式用於傳入訊息,以計算分割區 ID 或分割區 Key 必要 0 .payload.header
資料分割數目 數據處理者管線中的分割區數目。 必要 1 1

來源階段會將資料分割運算式套用至傳入訊息,以計算分割區 IDKey

數據處理者會將其他元數據新增至傳入訊息。 請參閱 數據處理者訊息結構概觀 ,以瞭解如何正確指定在傳入訊息上執行的分割表達式。 根據預設,資料分割運算式會設定為 0,[分割區類型] 則設定為 ID,以將所有傳入資料傳送至單一分割區。

如需建議及更多資訊,請參閱什麼是資料分割?