Odeslání dat do Microsoft Fabric z kanálu zpracovatele dat

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 Fabric Lakehouse můžete zapisovat data do jezera v Microsoft Fabric z kanálu Azure IoT Data Processor Preview. Cílová fáze zapisuje soubory parquet do jezera, která umožňuje zobrazit data v tabulkách Delta. Cílová fáze před odesláním zpráv do Microsoft Fabric dávková zprávy.

Požadavky

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

Nastavení Microsoft Fabric

Než budete moct zapisovat do Microsoft Fabric z datového kanálu, musíte udělit přístup k jezeru z kanálu. K ověření kanálu 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ý.

Než nakonfigurujete přístup instančního objektu nebo spravované identity k objektu lakehouse, povolte ověřování instančního objektu.

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

Přidání instančního objektu do pracovního prostoru Microsoft Fabric:

  1. Poznamenejte si ID pracovního prostoru a ID lakehouse. Tyto hodnoty najdete v adrese URL, kterou používáte pro přístup k jezeru:

    https://msit.powerbi.com/groups/<your workspace ID>/lakehouses/<your lakehouse ID>?experience=data-engineering

  2. V pracovním prostoru vyberte Spravovat přístup:

    Snímek obrazovky, který ukazuje, jak najít odkaz Spravovat přístup

  3. Vyberte Přidat lidi nebo skupiny:

    Snímek obrazovky, který ukazuje, jak přidat uživatele

  4. Vyhledejte instanční objekt podle názvu. Začněte psát, abyste viděli seznam odpovídajících instančních objektů. Vyberte instanční objekt, který jste vytvořili dříve:

    Snímek obrazovky, který ukazuje, jak přidat instanční objekt

  5. Udělte správci instančního objektu přístup k pracovnímu prostoru.

Konfigurace tajného kódu

Aby se cílová fáze připojila k Microsoft Fabric, 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 AccessFabricSecret --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.

Konfigurace cílové fáze

Konfigurace JSON cílové fáze Fabric Lakehouse 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
Id pracovního prostoru String ID pracovního prostoru lakehouse. Ano -
LakehouseId String ID lakehouse Lakehouse. Ano -
Table String Název tabulky, do které se má zapisovat. Ano -
Cesta ksouboru 1 Šablona Cesta k souboru, kam chcete zapsat soubor parquet. No {{{instanceId}}}/{{{pipelineId}}}/{{{partitionId}}}/{{{YYYY}}}/{{{MM}}}/{{{DD}}}/{{{HH}}}/{{{mm}}}/{{{fileNumber}}}
Dávka2 Batch Jak dávkot data No 60s 10s
Ověřování4 String Podrobnosti o ověřování pro připojení k Azure Data Exploreru. Service principal nebo Managed identity Instanční objekt Ano -
Zkusit znovu Opakovat Zásady opakování, které se mají použít. No default fixed
Název sloupců > string Název sloupce. Ano temperature
Typsloupců > 3 string – výčet Typ dat uložených ve sloupci pomocí jednoho z primitivních typů Delta. Ano integer
Cesta ke sloupcům > Cesta Umístění v rámci každého záznamu dat, ze kterého se má číst hodnota sloupce. No .{{name}} .temperature

1Cesta k souboru: K zápisu souborů do Microsoft Fabric potřebujete cestu k souboru. Ke konfiguraci cest k souborům můžete použít šablony . Cesty k souborům musí obsahovat následující součásti v libovolném pořadí:

  • instanceId
  • pipelineId
  • partitionId
  • YYYY
  • MM
  • DD
  • HH
  • mm
  • fileNumber

Názvy souborů jsou přírůstkové celočíselné hodnoty, jak je uvedeno .fileNumber Pokud chcete, aby váš systém rozpoznal typ souboru, nezapomeňte zahrnout příponu souboru.

2Dávkování: Dávkování je povinné při zápisu dat do Microsoft Fabric. Cílová fáze dávková zprávy v konfigurovatelném časovém intervalu.

Pokud interval dávkování nenakonfigurujete, fáze jako výchozí použije 60 sekund.

3. Typ: Zpracovatel dat zapisuje do Microsoft Fabric pomocí rozdílového formátu. Zpracovatel dat podporuje všechny rozdílové primitivní datové typy s výjimkou decimal a timestamp without time zone.

Chcete-li zajistit správné znázornění všech kalendářních dat a časů v Microsoft Fabric, ujistěte se, že hodnota vlastnosti je platný řetězec RFC 3339 a že datový typ je buď date nebo timestamp.

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 Microsoft Fabric.

Ověřování na základě instančního objektu

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 Microsoft Fabric Lakehouse, která zapíše celou zprávu do quickstart tabulky v databázi:

{
    "displayName": "Fabric Lakehouse - 520f54",
    "type": "output/fabric@v1",
    "viewOptions": {
        "position": {
            "x": 0,
            "y": 784
        }
    },
    "workspace": "workspaceId",
    "lakehouse": "lakehouseId",
    "table": "quickstart",
    "columns": [
        {
            "name": "Timestamp",
            "type": "timestamp",
            "path": ".Timestamp"
        },
        {
            "name": "AssetName",
            "type": "string",
            "path": ".assetname"
        },
        {
            "name": "Customer",
            "type": "string",
            "path": ".Customer"
        },
        {
            "name": "Batch",
            "type": "integer",
            "path": ".Batch"
        },
        {
            "name": "CurrentTemperature",
            "type": "float",
            "path": ".CurrentTemperature"
        },
        {
            "name": "LastKnownTemperature",
            "type": "float",
            "path": ".LastKnownTemperature"
        },
        {
            "name": "Pressure",
            "type": "float",
            "path": ".Pressure"
        },
        {
            "name": "IsSpare",
            "type": "boolean",
            "path": ".IsSpare"
        }
    ],
    "authentication": {
        "type": "servicePrincipal",
        "tenantId": "tenantId",
        "clientId": "clientId",
        "clientSecret": "secretReference"
    },
    "batch": {
        "time": "5s",
        "path": ".payload"
    },
    "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 Microsoft Fabric Lakehouse:

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