Share via


Adatok küldése az Azure Data Explorerbe egy Azure IoT-adatfeldolgozó előzetes verziójának folyamatából

Fontos

Az Azure IoT Operations Előzetes verziója – az Azure Arc által engedélyezett verzió jelenleg előzetes verzióban érhető el. Ezt az előzetes verziójú szoftvert nem szabad éles környezetben használni.

A bétaverziójú, előzetes verziójú vagy másként még általánosan nem elérhető Azure-szolgáltatások jogi feltételeit lásd: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.

Az Azure Data Explorer célhelyén adatokat írhat egy Azure Data Explorer-táblába egy Azure IoT-adatfeldolgozó előzetes verziójának folyamatából. A célszakasz kötegeli az üzeneteket, mielőtt elküldené őket az Azure Data Explorerbe.

Előfeltételek

Az Azure Data Explorer célfolyamat-szakaszának konfigurálásához és használatához a következőkre van szükség:

Az Azure Data Explorer beállítása

Mielőtt egy adatfolyamból írhat az Azure Data Explorerbe, hozzáférést kell adnia az adatbázishoz a folyamatból. Szolgáltatásnévvel vagy felügyelt identitással hitelesítheti a folyamatot az adatbázisban. A felügyelt identitások használatának előnye, hogy nem kell kezelnie a szolgáltatásnév életciklusát. A felügyelt identitást az Azure automatikusan felügyeli, és annak az erőforrásnak az életciklusához van kötve, amelyhez hozzá van rendelve.

Szolgáltatásnév létrehozása ügyfélkóddal:

  1. Szolgáltatásnév létrehozásához használja az alábbi Azure CLI-parancsot.

    az ad sp create-for-rbac --name <YOUR_SP_NAME> 
    
  2. A parancs kimenete egy , displayNamepasswordés tenantegy appId. Jegyezze fel ezeket az értékeket, amikor konfigurálja a felhőerőforráshoz, például a Microsoft Fabrichez való hozzáférést, hozzon létre egy titkos kulcsot, és konfiguráljon egy folyamat célját:

    {
        "appId": "<app-id>",
        "displayName": "<name>",
        "password": "<client-secret>",
        "tenant": "<tenant-id>"
    }
    

Ha rendszergazdai hozzáférést szeretne biztosítani az Azure Data Explorer-adatbázishoz, futtassa a következő parancsot az adatbázis lekérdezési lapján:

.add database <DatabaseName> admins (<ApplicationId>) <Notes>

Ahhoz, hogy a célszakasz csatlakozzon az Azure Data Explorerhez, hozzá kell férnie egy titkos kódhoz, amely tartalmazza a hitelesítési adatokat. Titkos kód létrehozása:

  1. A következő paranccsal adjon hozzá egy titkos kulcsot az Azure Key Vaulthoz, amely tartalmazza a szolgáltatásnév létrehozásakor jegyzett ügyféltitkot:

    az keyvault secret set --vault-name <your-key-vault-name> --name AccessADXSecret --value <client-secret>
    
  2. Adja hozzá a titkos kódhivatkozást a Kubernetes-fürthöz az Azure IoT Operations Preview üzembe helyezés titkos kulcsainak kezelése című témakörben leírt lépések végrehajtásával.

Kötegelés

Az adatfeldolgozó kötegekben ír az Azure Data Explorerbe. Amíg az adatokat az adatfeldolgozóban köti le a küldés előtt, az Azure Data Explorer saját alapértelmezett betöltési kötegelési szabályzattal rendelkezik. Ezért előfordulhat, hogy az adatok nem jelennek meg azonnal az Azure Data Explorerben, miután az Adatfeldolgozó az Azure Data Explorer célhelyére írja azokat.

Ha a folyamat elküldése után azonnal meg szeretné tekinteni az adatokat az Azure Data Explorerben, beállíthatja a betöltési kötegelési szabályzatok számát 1. A betöltési kötegelési szabályzat szerkesztéséhez futtassa az alábbi parancsot az adatbázis lekérdezési lapján:

.alter database <your-database-name> policy ingestionbatching
```
{
    "MaximumBatchingTimeSpan" : "00:00:30",
    "MaximumNumberOfItems" : 1,
    "MaximumRawDataSizeMB": 1024
}
```

A célszakasz konfigurálása

Az Azure Data Explorer célszakaszának JSON-konfigurációja határozza meg a szakasz részleteit. A szakasz létrehozásához használhatja az űrlapalapú felhasználói felületet, vagy megadhatja a JSON-konfigurációt a Speciális lapon:

Mező Típus Leírás Kötelező Alapértelmezett Példa
Megjelenített név Sztring Az Adatfeldolgozó felhasználói felületén megjelenítendő név. Igen - Azure IoT MQ output
Leírás Sztring A szakasz felhasználóbarát leírása. Nem Write to topic default/topic1
Fürt URL-címe Sztring Az URI (Ez az érték nem az adatbetöltési URI). Igen -
Adatbázis Sztring Az adatbázis neve. Igen -
Tábla Sztring Annak a táblának a neve, amelybe írni szeretne. Igen -
Batch Batch Adatok kötegelési útmutatója. Nem 60s 10s
Ismét Retry A használni kívánt újrapróbálkozési szabályzat. Nem default fixed
Hitelesítés1 Sztring Az Azure Data Explorerhez való csatlakozás hitelesítési részletei. Service principal vagy Managed identity Szolgáltatásnév Igen -
Oszlopok > neve húr Az oszlop neve. Igen temperature
Oszlopok > elérési útja Elérési út Azon adatok minden rekordjának helye, ahonnan az oszlop értékét be kell olvasni. Nem .{{name}} .temperature

1Hitelesítés: Jelenleg a célszakasz támogatja a szolgáltatásnév-alapú hitelesítést vagy a felügyelt identitást, amikor csatlakozik az Azure Data Explorerhez.

A szolgáltatásnévalapú hitelesítés konfigurálásához adja meg a következő értékeket. Ezeket az értékeket a szolgáltatásnév létrehozásakor jegyezte fel, és hozzáadta a titkos referenciát a fürthöz.

Mező Leírás Kötelező
TenantId A bérlő azonosítója. Igen
ClientID Az alkalmazásazonosító, amelyről megjegyzést tett, amikor létrehozta az adatbázishoz hozzáféréssel rendelkező szolgáltatásnevet. Igen
Titkos A fürtben létrehozott titkos hivatkozás. Igen

Mintakonfiguráció

Az alábbi JSON-példa egy teljes Azure Data Explorer-célszakasz-konfigurációt mutat be, amely a teljes üzenetet az quickstart adatbázis táblájába írja":

{
    "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
    }
}

A konfiguráció a következőket határozza meg:

  • Az üzenetek kötegelve vannak 5 másodpercig.
  • A köteg elérési útján .payload megkeresi az oszlopok adatait.

Példa

Az alábbi példa egy minta bemeneti üzenetet mutat be az Azure Data Explorer célszakaszába:

{
  "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"
}