Odesílání dat do Azure Data Exploreru z kanálu Azure IoT Data Processor Preview

Důležité

Azure IoT Operations Preview – Služba Azure Arc je aktuálně ve verzi PREVIEW. Tento software ve verzi Preview byste neměli používat v produkčních prostředích.

Právní podmínky, které platí pro funkce Azure, které jsou ve verzi beta, verzi Preview nebo které zatím nejsou veřejně dostupné, najdete v Dodatečných podmínkách použití pro Microsoft Azure verze Preview.

Pomocí cíle Azure Data Exploreru můžete zapisovat data do tabulky v Azure Data Exploreru z kanálu Azure IoT Data Processor Preview. Cílová fáze před odesláním zpráv do Azure Data Exploreru dávková zprávy.

Požadavky

Pokud chcete nakonfigurovat a použít cílovou fázi kanálu Azure Data Exploreru, potřebujete:

Nastavení Azure Data Exploreru

Než budete moct zapisovat do Azure Data Exploreru z datového kanálu, musíte udělit přístup k databázi z kanálu. K ověření kanálu v databázi můžete použít instanční objekt nebo spravovanou identitu. Výhodou použití spravované identity je, že nemusíte spravovat životní cyklus instančního objektu. Spravovaná identita se automaticky spravuje v Azure a je svázaná s životním cyklem prostředku, ke kterému je přiřazený.

Vytvoření instančního objektu s tajným klíčem klienta:

  1. Pomocí následujícího příkazu Azure CLI vytvořte instanční objekt.

    az ad sp create-for-rbac --name <YOUR_SP_NAME> 
    
  2. Výstup tohoto příkazu zahrnuje příkaz appId, displayNamepassword, a tenant. Poznamenejte si tyto hodnoty, které se mají použít při konfiguraci přístupu ke cloudovému prostředku, jako je Microsoft Fabric, vytvoření tajného klíče a konfigurace cíle kanálu:

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

Pokud chcete správci udělit přístup k databázi Azure Data Exploreru, spusťte na kartě databázového dotazu následující příkaz:

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

Aby se cílová fáze připojila k Azure Data Exploreru, potřebuje přístup k tajnému kódu, který obsahuje podrobnosti o ověřování. Vytvoření tajného kódu:

  1. Pomocí následujícího příkazu přidejte tajný kód do služby Azure Key Vault, který obsahuje tajný klíč klienta, který jste si poznamenali při vytváření instančního objektu:

    az keyvault secret set --vault-name <your-key-vault-name> --name AccessADXSecret --value <client-secret>
    
  2. Přidejte do clusteru Kubernetes odkaz na tajný kód podle kroků v tématu Správa tajných kódů pro nasazení Azure IoT Operations Preview.

Dávkování

Zpracovatel dat zapisuje do Azure Data Exploreru v dávkách. Zatímco data dávkováte v zpracovateli dat před jejich odesláním, Azure Data Explorer má vlastní výchozí zásady dávkování příjmu dat. Proto se vaše data nemusí v Azure Data Exploreru zobrazovat hned po jejich zápisu do cíle Azure Data Exploreru.

Pokud chcete zobrazit data v Azure Data Exploreru hned po odeslání kanálu, můžete nastavit počet zásad dávkování příjmu dat na 1hodnotu . Pokud chcete upravit zásady dávkování příjmu dat, spusťte na kartě databázového dotazu následující příkaz:

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

Konfigurace cílové fáze

Konfigurace JSON cílové fáze Azure Data Exploreru definuje podrobnosti fáze. Pokud chcete vytvořit fázi, můžete pracovat s uživatelským rozhraním založeným na formuláři nebo zadat konfiguraci JSON na kartě Upřesnit :

Pole Typ Popis Požaduje se Výchozí Příklad
Zobrazované jméno String Název, který se má zobrazit v uživatelském rozhraní zpracovatele dat. Ano - Azure IoT MQ output
Popis String Uživatelsky přívětivý popis toho, co fáze dělá. No Write to topic default/topic1
Adresa URL clusteru String Identifikátor URI (Tato hodnota není identifikátorem URI příjmu dat). Ano -
Databáze String Název databáze. Ano -
Table String Název tabulky, do které se má zapisovat. Ano -
Batch Batch Jak dávkot data No 60s 10s
Zkusit znovu Opakovat Zásady opakování, které se mají použít. No default fixed
Ověřování1 String Podrobnosti o ověřování pro připojení k Azure Data Exploreru. Service principal nebo Managed identity Instanční objekt Ano -
Název sloupců > string Název sloupce. Ano temperature
Cesta ke sloupcům > Cesta Umístění v rámci každého záznamu dat, ze kterých by se měla číst hodnota sloupce. No .{{name}} .temperature

1Ověřování: V současné době cílová fáze podporuje ověřování na základě instančního objektu nebo spravovanou identitu při připojení k Azure Data Exploreru.

Pokud chcete nakonfigurovat ověřování na základě instančního objektu, zadejte následující hodnoty. Tyto hodnoty jste si poznamenali při vytváření instančního objektu a přidali jste do clusteru odkaz na tajný kód.

Pole Popis Povinní účastníci
TenantId ID tenanta. Ano
ClientId ID aplikace, které jste si poznamenali při vytváření instančního objektu, který má přístup k databázi. Ano
Tajný Odkaz na tajný kód, který jste vytvořili v clusteru. Ano

Vzorová konfigurace

Následující příklad JSON ukazuje úplnou konfiguraci cílové fáze Azure Data Exploreru, která zapíše celou zprávu do quickstart tabulky v databázi:

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

Konfigurace definuje, že:

  • Zprávy se dávkují po dobu 5 sekund.
  • Pomocí dávkové cesty .payload vyhledá data pro sloupce.

Příklad

Následující příklad ukazuje ukázkovou vstupní zprávu do cílové fáze Azure Data Exploreru:

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