從 Azure IoT 數據處理器預覽管線將數據傳送至 Azure 數據總管
重要
已啟用 Azure Arc 的 Azure IoT 操作預覽版目前為預覽狀態。 請勿在生產環境使用此預覽版軟體。
請參閱 Microsoft Azure 預覽版增補使用規定,以了解適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的法律條款。
使用 Azure 資料總管目的地,從 Azure IoT 數據處理器預覽管線將數據寫入 Azure 數據總管中的數據表。 目的地階段會先以批次方式處理訊息,再傳送至 Azure 資料總管。
必要條件
若要設定並使用 Azure 資料總管目的地管線階段,則需要:
- 已部署的資料處理器執行個體。
- Azure 資料總管叢集。
- Azure 資料總管叢集中的資料庫。
設定 Azure 資料總管
您必須先從管線授與資料庫的存取權,才能從數據管線寫入 Azure 數據總管。 您可以使用服務主體或受控識別來向資料庫驗證管線。 使用受控識別的優點是,您不需要管理服務主體的生命週期。 受控識別會自動由 Azure 管理,並系結至其指派的資源生命週期。
若要使用用戶端祕密來建立服務主體:
使用下列 Azure CLI 命令建立服務主體。
az ad sp create-for-rbac --name <YOUR_SP_NAME>
此命令的輸出包含
appId
、displayName
、password
及tenant
。 請記下這些值,以利用於設定 Microsoft Fabric 等雲端資源的存取權限、建立祕密,以及設定管線目的地:{ "appId": "<app-id>", "displayName": "<name>", "password": "<client-secret>", "tenant": "<tenant-id>" }
若要授與 Azure 資料總管資料庫的管理員存取權,請在資料庫查詢索引標籤中執行已下命令:
.add database <DatabaseName> admins (<ApplicationId>) <Notes>
若要將目的地階段連線至 Azure 資料總管,則需要包含驗證詳細資料之祕密的存取權限。 若要建立祕密:
請使用下列命令,將祕密新增至 Azure Key Vault,且其中須包含您在建立服務主體時記下的用戶端密碼:
az keyvault secret set --vault-name <your-key-vault-name> --name AccessADXSecret --value <client-secret>
遵循管理 Azure IoT Operations Preview 部署秘密中的步驟,將秘密參考新增至 Kubernetes 叢集。
批次處理
資料處理器會以批次方式將資料寫入 Azure 資料總管。 若資料在傳送前已在資料處理器中進行批次處理,則 Azure 資料總管會具有自備的預設擷取批次處理原則。 因此,在資料處理器將資料寫入 Azure 資料總管目的地後,可能無法立即在 Azure 資料總管中看見資料。
若要在管線傳送資料後立即於 Azure 資料總管中檢視,您可以將擷取批次處理原則計數設定為 1
。 若要編輯擷取批次處理原則,請在資料庫查詢索引標籤中執行下列命令:
.alter database <your-database-name> policy ingestionbatching
```
{
"MaximumBatchingTimeSpan" : "00:00:30",
"MaximumNumberOfItems" : 1,
"MaximumRawDataSizeMB": 1024
}
```
設定目的地階段
Azure 資料總管目的地階段 JSON 設定負責定義階段的詳細資料。 若要編寫階段,可透過與表單架構使用者介面互動,或在 [進階] 索引標籤上提供 JSON 設定:
欄位 | 類型 | 描述 | 是必要欄位 | 預設 | 範例 |
---|---|---|---|---|---|
Display name | String | 用於顯示在資料處理器使用者介面中的名稱。 | Yes | - | Azure IoT MQ output |
描述 | String | 使用者易記的階段功能描述。 | No | Write to topic default/topic1 |
|
叢集 URL | String | URI (此值非資料擷取 URI)。 | Yes | - | |
資料庫 | String | 資料庫名稱。 | Yes | - | |
Table | String | 要寫入之資料表的名稱。 | Yes | - | |
Batch | Batch | 如何批次處理資料。 | No | 60s |
10s |
重試 | 重試 | 要使用的重試原則。 | No | default |
fixed |
驗證1 | String | 連線至 Azure 資料總管的驗證詳細資訊。 Service principal 或 Managed identity |
服務主體 | Yes | - |
資料行 > 名稱 | string | 資料行名稱。 | Yes | temperature |
|
資料行 > 路徑 | 路徑 | 各項資料記錄中讀取資料行值的位置。 | No | .{{name}} |
.temperature |
1驗證:目前,目的地階段在聯機到 Azure 數據總管時,支援服務主體型驗證或受控識別。
若要設定服務主體型驗證,請提供下列值。 先前建立服務主體時並新增叢集的祕密參考時,您已記下這些值。
欄位 | 描述 | 必要 |
---|---|---|
TenantId | 租用戶識別碼。 | Yes |
ClientId | 先前建立具有資料庫存取權的服務主體時,已記下的應用程式識別碼。 | Yes |
祕密 | 您在叢集中建立的祕密參考。 | Yes |
範例設定
下列 JSON 範例顯示 Azure 資料總管目的地階段的完整設定,可用於將完整資訊寫入資料庫中的 quickstart
表:
{
"displayName": "Azure data explorer - 71c308",
"type": "output/dataexplorer@v1",
"viewOptions": {
"position": {
"x": 0,
"y": 784
}
},
"clusterUrl": "https://clusterurl.region.kusto.windows.net",
"database": "databaseName",
"table": "quickstart",
"authentication": {
"type": "servicePrincipal",
"tenantId": "tenantId",
"clientId": "clientId",
"clientSecret": "secretReference"
},
"batch": {
"time": "5s",
"path": ".payload"
},
"columns": [
{
"name": "Timestamp",
"path": ".Timestamp"
},
{
"name": "AssetName",
"path": ".assetName"
},
{
"name": "Customer",
"path": ".Customer"
},
{
"name": "Batch",
"path": ".Batch"
},
{
"name": "CurrentTemperature",
"path": ".CurrentTemperature"
},
{
"name": "LastKnownTemperature",
"path": ".LastKnownTemperature"
},
{
"name": "Pressure",
"path": ".Pressure"
},
{
"name": "IsSpare",
"path": ".IsSpare"
}
],
"retry": {
"type": "fixed",
"interval": "20s",
"maxRetries": 4
}
}
設定會定義以下項目:
- 每隔 5 秒批次處理訊息。
- 使用批次路徑
.payload
尋找資料行的資料。
範例
下列範例顯示傳送至 Azure 資料總管目的地階段的範例輸入訊息:
{
"payload": {
"Batch": 102,
"CurrentTemperature": 7109,
"Customer": "Contoso",
"Equipment": "Boiler",
"IsSpare": true,
"LastKnownTemperature": 7109,
"Location": "Seattle",
"Pressure": 7109,
"Timestamp": "2023-08-10T00:54:58.6572007Z",
"assetName": "oven"
},
"qos": 0,
"systemProperties": {
"partitionId": 0,
"partitionKey": "quickstart",
"timestamp": "2023-11-06T23:42:51.004Z"
},
"topic": "quickstart"
}
相關內容
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應