Gegevens verzenden naar Azure Data Explorer vanuit een gegevensprocessorpijplijn
Belangrijk
Azure IoT Operations Preview: ingeschakeld door Azure Arc is momenteel in PREVIEW. Gebruik deze preview-software niet in productieomgevingen.
U moet een nieuwe Installatie van Azure IoT Operations implementeren wanneer er een algemeen beschikbare release beschikbaar wordt gesteld. U kunt geen preview-installatie upgraden.
Raadpleeg de Aanvullende voorwaarden voor Microsoft Azure-previews voor juridische voorwaarden die van toepassing zijn op Azure-functies die in bèta of preview zijn of die anders nog niet algemeen beschikbaar zijn.
Gebruik de Azure Data Explorer-bestemming om gegevens te schrijven naar een tabel in Azure Data Explorer vanuit een pijplijn voor een gegevensverwerker. In de doelfase worden berichten in batches geplaatst voordat ze naar Azure Data Explorer worden verzonden.
Vereisten
Als u een doelpijplijnfase van Azure Data Explorer wilt configureren en gebruiken, hebt u het volgende nodig:
- Een geïmplementeerd exemplaar van de gegevensverwerker.
- Een Azure Data Explorer-cluster.
- Een database in uw Azure Data Explorer-cluster.
Azure Data Explorer instellen
Voordat u vanuit een gegevenspijplijn naar Azure Data Explorer kunt schrijven, moet u toegang verlenen tot de database vanuit de pijplijn. U kunt een service-principal of een beheerde identiteit gebruiken om de pijplijn te verifiëren bij de database. Het voordeel van het gebruik van een beheerde identiteit is dat u de levenscyclus van de service-principal niet hoeft te beheren. De beheerde identiteit wordt automatisch beheerd door Azure en is gekoppeld aan de levenscyclus van de resource waaraan deze is toegewezen.
Een service-principal maken met een clientgeheim:
Gebruik de volgende Azure CLI-opdracht om een service-principal te maken.
az ad sp create-for-rbac --name <YOUR_SP_NAME>
De uitvoer van deze opdracht bevat een
appId
,displayName
,password
entenant
. Noteer deze waarden die u wilt gebruiken wanneer u de toegang tot uw cloudresource configureert, zoals Microsoft Fabric, een geheim maakt en een pijplijnbestemming configureert:{ "appId": "<app-id>", "displayName": "<name>", "password": "<client-secret>", "tenant": "<tenant-id>" }
Als u beheerderstoegang wilt verlenen tot uw Azure Data Explorer-database, voert u de volgende opdracht uit op het tabblad Databasequery:
.add database <DatabaseName> admins (<ApplicationId>) <Notes>
Voordat de doelfase verbinding kan maken met Azure Data Explorer, moet deze toegang hebben tot een geheim dat de verificatiegegevens bevat. Een geheim maken:
Gebruik de volgende opdracht om een geheim toe te voegen aan uw Azure Key Vault die het clientgeheim bevat dat u hebt genoteerd toen u de service-principal maakte:
az keyvault secret set --vault-name <your-key-vault-name> --name AccessADXSecret --value <client-secret>
Voeg de geheime verwijzing toe aan uw Kubernetes-cluster door de stappen in Geheimen beheren voor uw Azure IoT Operations Preview-implementatie te volgen.
Batching
De gegevensprocessor schrijft in batches naar Azure Data Explorer. Terwijl u gegevens in de gegevensverwerker batcheert voordat u deze verzendt, heeft Azure Data Explorer een eigen standaardbeleid voor opnamebatches. Daarom ziet u uw gegevens mogelijk niet direct in Azure Data Explorer nadat de gegevensverwerker deze naar de Azure Data Explorer-bestemming heeft geschreven.
Als u gegevens in Azure Data Explorer wilt weergeven zodra de pijplijn deze verzendt, kunt u het aantal 1
opnamebatches instellen op . Als u het batchverwerkingsbeleid voor opname wilt bewerken, voert u de volgende opdracht uit op het tabblad Databasequery:
.alter database <your-database-name> policy ingestionbatching
```
{
"MaximumBatchingTimeSpan" : "00:00:30",
"MaximumNumberOfItems" : 1,
"MaximumRawDataSizeMB": 1024
}
```
De doelfase configureren
De JSON-configuratie van de doelfase van Azure Data Explorer definieert de details van de fase. Als u de fase wilt ontwerpen, kunt u communiceren met de gebruikersinterface op basis van formulieren of de JSON-configuratie opgeven op het tabblad Geavanceerd :
Veld | Type | Beschrijving | Vereist | Standaardinstelling | Opmerking |
---|---|---|---|---|---|
Weergavenaam | String | Een naam die moet worden weergegeven in de gebruikersinterface van de gegevensverwerker. | Ja | - | MQTT broker output |
Beschrijving | String | Een gebruiksvriendelijke beschrijving van wat de fase doet. | Nee | Write to topic default/topic1 |
|
Cluster-URL | String | De URI (deze waarde is niet de gegevensopname-URI). | Ja | - | |
Database | String | De naam van de database. | Ja | - | |
Tabel | String | De naam van de tabel waarnaar moet worden geschreven. | Ja | - | |
Batch | Batch | Gegevens batcheren. | Nee | 60s |
10s |
Opnieuw proberen | Opnieuw proberen | Het beleid voor opnieuw proberen dat moet worden gebruikt. | Nee | default |
fixed |
Verificatie1 | String | De verificatiegegevens om verbinding te maken met Azure Data Explorer. Service principal of Managed identity |
Service-principal | Ja | - |
Kolomnaam > | tekenreeks | De naam van de kolom. | Ja | temperature |
|
Pad naar kolommen > | Pad | De locatie binnen elke record van de gegevens waaruit de waarde van de kolom moet worden gelezen. | Nee | .{{name}} |
.temperature |
1Verificatie: Momenteel ondersteunt de doelfase verificatie op basis van service-principal of beheerde identiteit wanneer deze verbinding maakt met Azure Data Explorer.
Als u verificatie op basis van een service-principal wilt configureren, geeft u de volgende waarden op. U hebt deze waarden genoteerd toen u de service-principal maakte en de geheime verwijzing naar uw cluster hebt toegevoegd.
Veld | Beschrijving | Vereist |
---|---|---|
TenantId | De tenant-id. | Ja |
ClientId | De app-id die u hebt genoteerd toen u de service-principal hebt gemaakt die toegang heeft tot de database. | Ja |
Geheim | De geheime verwijzing die u in uw cluster hebt gemaakt. | Ja |
Voorbeeldconfiguratie
In het volgende JSON-voorbeeld ziet u een volledige azure Data Explorer-doelfaseconfiguratie waarmee het hele bericht naar de quickstart
tabel in de database wordt geschreven':
{
"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
}
}
De configuratie definieert dat:
- Berichten worden vijf seconden in batches geplaatst.
- Gebruikt het batchpad
.payload
om de gegevens voor de kolommen te zoeken.
Opmerking
In het volgende voorbeeld ziet u een voorbeeld van een invoerbericht voor de doelfase van Azure Data Explorer:
{
"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"
}