在數據處理者管線中設定 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 方法。 為 GET 或 POST 其中之一 |
選擇性 | GET |
GET |
URL | String | 用於要求的 URL。 http 與 https 兩者都支援。 |
必要 | NA | https://contoso.com/some/url/path |
驗證 | 驗證類型 | HTTP 要求的驗證方法。 為 None 、Username/Password 或 Header 的其中之一。 |
選擇性 | 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
格式,表示它不會轉換傳入數據。 若要在管線中使用許多數據處理者功能,例如 Filter
或 Enrich
階段,您必須在輸入階段還原串行化您的數據。 您可以選擇將傳入資料從JSON
、、jsonStream
、MessagePack
CBOR
、 CSV
或 Protobuf
格式還原串行化為資料處理者可讀取的訊息,以使用完整的數據處理者功能。
下表描述不同的還原序列化設定選項:
欄位 | 描述 | 是必要欄位 | 預設 | 值 |
---|---|---|---|---|
資料格式 | 資料格式的類型。 | 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 、、 Float 、 Integer 、 Boolean 、 Bytes |
預設:String |
若要還原序列化 Protobuf 訊息,您也必須指定下列欄位:
欄位 | 描述 | 必要 | 值 | 範例 |
---|---|---|---|---|
描述項 | Protobuf 定義的 base64 編碼描述項。 | Yes | - | Zhf... |
訊息 | 用於格式化資料之訊息類型的名稱。 | Yes | - | pipeline |
套件 | 描述項中定義類別之套件的名稱。 | Yes | - | schedulerv1 |
注意
數據處理者在每個 .proto 檔案中只支援一個訊息類型。
設定資料分割
管線中的資料分割功能會將傳入資料分割為不同的分割區。 資料分割可在管線中啟用資料平行處理原則,協助提高輸送量並減少延遲。 資料分割策略將影響資料在管線其他階段中的處理方式。 例如,上一個已知的值與彙總階段會在每個邏輯分割區上執行。
若要分割資料,請指定資料分割策略及要使用的分割區數目:
欄位 | 描述 | 是必要欄位 | 預設 | 範例 |
---|---|---|---|---|
磁碟分割類型 | 要使用的資料分割類型:分割區 ID 或分割區 Key |
必要 | ID |
ID |
分割區運算式 | jq 運算式用於傳入訊息,以計算分割區 ID 或分割區 Key |
必要 | 0 |
.payload.header |
資料分割數目 | 數據處理者管線中的分割區數目。 | 必要 | 1 |
1 |
來源階段會將資料分割運算式套用至傳入訊息,以計算分割區 ID
或 Key
。
數據處理者會將其他元數據新增至傳入訊息。 請參閱 數據處理者訊息結構概觀 ,以瞭解如何正確指定在傳入訊息上執行的分割表達式。 根據預設,資料分割運算式會設定為 0
,[分割區類型] 則設定為 ID
,以將所有傳入資料傳送至單一分割區。
如需建議及更多資訊,請參閱什麼是資料分割?。