Udostępnij za pośrednictwem


Wysyłanie danych do usługi Microsoft Fabric z potoku procesora danych

Ważne

Usługa Azure IoT Operations Preview — włączona przez usługę Azure Arc jest obecnie dostępna w wersji zapoznawczej. Nie należy używać tego oprogramowania w wersji zapoznawczej w środowiskach produkcyjnych.

Zobacz Dodatkowe warunki użytkowania wersji zapoznawczych platformy Microsoft Azure, aby zapoznać się z postanowieniami prawnymi dotyczącymi funkcji platformy Azure, które są w wersji beta lub wersji zapoznawczej albo w inny sposób nie zostały jeszcze wydane jako ogólnie dostępne.

Użyj miejsca docelowego usługi Fabric Lakehouse, aby zapisywać dane w usłudze Lakehouse w usłudze Microsoft Fabric z potoku przetwarzania danych usługi Azure IoT w wersji zapoznawczej. Etap docelowy zapisuje pliki parquet w usłudze Lakehouse, która umożliwia wyświetlanie danych w tabelach różnicowych. Etap docelowy wsaduje komunikaty przed wysłaniem ich do usługi Microsoft Fabric.

Wymagania wstępne

Aby skonfigurować i użyć docelowego etapu potoku usługi Microsoft Fabric, potrzebne są następujące elementy:

  • Wdrożone wystąpienie procesora danych.
  • Subskrypcja usługi Microsoft Fabric. Możesz też zarejestrować się w celu uzyskania bezpłatnej pojemności próbnej usługi Microsoft Fabric.
  • Lakehouse w usłudze Microsoft Fabric.

Konfigurowanie usługi Microsoft Fabric

Przed zapisaniem w usłudze Microsoft Fabric z potoku danych należy udzielić dostępu do usługi Lakehouse z potoku. Do uwierzytelniania potoku można użyć jednostki usługi lub tożsamości zarządzanej. Zaletą korzystania z tożsamości zarządzanej jest to, że nie trzeba zarządzać cyklem życia jednostki usługi. Tożsamość zarządzana jest automatycznie zarządzana przez platformę Azure i jest powiązana z cyklem życia przypisanego do niego zasobu.

Przed skonfigurowaniem jednostki usługi lub tożsamości zarządzanej dostępu do usługi Lakehouse włącz uwierzytelnianie jednostki usługi.

Aby utworzyć jednostkę usługi z kluczem tajnym klienta:

  1. Użyj następującego polecenia interfejsu wiersza polecenia platformy Azure, aby utworzyć jednostkę usługi.

    az ad sp create-for-rbac --name <YOUR_SP_NAME> 
    
  2. Dane wyjściowe tego polecenia obejmują appIdwartości , , displayNamepasswordi tenant. Zanotuj te wartości do użycia podczas konfigurowania dostępu do zasobu w chmurze, takiego jak Microsoft Fabric, tworzenia wpisu tajnego i konfigurowania miejsca docelowego potoku:

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

Aby dodać jednostkę usługi do obszaru roboczego usługi Microsoft Fabric:

  1. Zanotuj identyfikator obszaru roboczego i identyfikator usługi Lakehouse. Te wartości można znaleźć w adresie URL używanym do uzyskiwania dostępu do usługi Lakehouse:

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

  2. W obszarze roboczym wybierz pozycję Zarządzaj dostępem:

    Zrzut ekranu przedstawiający sposób znajdowania linku Zarządzanie dostępem.

  3. Wybierz pozycję Dodaj osoby lub grupy:

    Zrzut ekranu przedstawiający sposób dodawania użytkownika.

  4. Wyszukaj nazwę główną usługi. Zacznij wpisywać, aby wyświetlić listę pasujących jednostek usługi. Wybierz utworzoną wcześniej jednostkę usługi:

    Zrzut ekranu przedstawiający sposób dodawania jednostki usługi.

  5. Udziel administratorowi jednostki usługi dostępu do obszaru roboczego.

Konfigurowanie wpisu tajnego

Aby etap docelowy łączył się z usługą Microsoft Fabric, musi mieć dostęp do wpisu tajnego zawierającego szczegóły uwierzytelniania. Aby utworzyć wpis tajny:

  1. Użyj następującego polecenia, aby dodać wpis tajny do usługi Azure Key Vault zawierający wpis tajny klienta zanotowy podczas tworzenia jednostki usługi:

    az keyvault secret set --vault-name <your-key-vault-name> --name AccessFabricSecret --value <client-secret>
    
  2. Dodaj odwołanie do wpisu tajnego do klastra Kubernetes, wykonując kroki opisane w temacie Zarządzanie wpisami tajnymi dla wdrożenia usługi Azure IoT Operations Preview.

Konfigurowanie etapu docelowego

Konfiguracja JSON etapu docelowego usługi Fabric Lakehouse definiuje szczegóły etapu. Aby utworzyć etap, możesz wchodzić w interakcje z interfejsem użytkownika opartym na formularzach lub podać konfigurację JSON na karcie Zaawansowane :

Pole Typ Opis Wymagani Wartość domyślna Przykład
Display name String Nazwa wyświetlana w interfejsie użytkownika procesora danych. Tak - Azure IoT MQ output
opis String Przyjazny dla użytkownika opis tego, co robi etap. Nie. Write to topic default/topic1
Identyfikator obszaru roboczego String Identyfikator obszaru roboczego usługi Lakehouse. Tak -
LakehouseId String The lakehouse Lakehouse ID. Tak -
Table String Nazwa tabeli do zapisu. Tak -
Ścieżkapliku 1 Szablon Ścieżka pliku, do którego ma być zapisywany plik parquet. Nie. {{{instanceId}}}/{{{pipelineId}}}/{{{partitionId}}}/{{{YYYY}}}/{{{MM}}}/{{{DD}}}/{{{HH}}}/{{{mm}}}/{{{fileNumber}}}
Batch2 Batch Jak wsadować dane. Nie. 60s 10s
Uwierzytelnianie4 String Szczegóły uwierzytelniania do nawiązania połączenia z usługą Azure Data Explorer. Service principal lub Managed identity Jednostka usługi Tak -
Ponów próbę Ponów próbę Zasady ponawiania prób do użycia. Nie. default fixed
Nazwa kolumn > string Nazwa kolumny. Tak temperature
Typkolumn > 3 wyliczenie ciągu Typ danych przechowywanych w kolumnie przy użyciu jednego z typów pierwotnych delty. Tak integer
Ścieżka kolumn > Ścieżka Lokalizacja w każdym rekordzie danych, z których ma być odczytywana wartość kolumny. Nie. .{{name}} .temperature

1Ścieżka pliku: Aby zapisać pliki w usłudze Microsoft Fabric, potrzebna jest ścieżka pliku. Za pomocą szablonów można skonfigurować ścieżki plików. Ścieżki plików muszą zawierać następujące składniki w dowolnej kolejności:

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

Nazwy plików są przyrostowymi wartościami całkowitymi, co wskazuje wartość fileNumber. Pamiętaj, aby uwzględnić rozszerzenie pliku, jeśli chcesz, aby system rozpoznał typ pliku.

2Batching (Przetwarzanie wsadowe): przetwarzanie wsadowe jest obowiązkowe podczas zapisywania danych w usłudze Microsoft Fabric. Etap docelowy wsaduje komunikaty w konfigurowalnym przedziale czasu.

Jeśli nie skonfigurujesz interwału przetwarzania wsadowego, etap używa 60 sekund jako domyślnego.

3Typ: procesor danych zapisuje w usłudze Microsoft Fabric przy użyciu formatu różnicowego. Procesor danych obsługuje wszystkie typy danych pierwotnych różnicowych z wyjątkiem elementów decimal i timestamp without time zone.

Aby upewnić się, że wszystkie daty i godziny są poprawnie reprezentowane w usłudze Microsoft Fabric, upewnij się, że wartość właściwości jest prawidłowym ciągiem RFC 3339 i że typ danych to date lub timestamp.

1Uwierzytelnianie: obecnie etap docelowy obsługuje uwierzytelnianie oparte na jednostce usługi lub tożsamość zarządzaną podczas nawiązywania połączenia z usługą Microsoft Fabric.

Uwierzytelnianie oparte na jednostce usługi

Aby skonfigurować uwierzytelnianie oparte na jednostce usługi, podaj następujące wartości. Zanotuj te wartości podczas tworzenia jednostki usługi i dodano odwołanie tajne do klastra.

Pole opis Wymagania
TenantId Identyfikator dzierżawy. Tak
ClientId Identyfikator aplikacji zanotował podczas tworzenia jednostki usługi, która ma dostęp do bazy danych. Tak
Klucz tajny Odwołanie do wpisu tajnego utworzonego w klastrze. Tak

Przykładowa konfiguracja

Poniższy przykład JSON przedstawia kompletną konfigurację etapu docelowego usługi Microsoft Fabric lakehouse, która zapisuje cały komunikat w quickstart tabeli w bazie danych:

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

Konfiguracja definiuje, że:

  • Komunikaty są wsadowe przez 5 sekund.
  • Używa ścieżki .payload wsadowej do lokalizowania danych dla kolumn.

Przykład

W poniższym przykładzie pokazano przykładowy komunikat wejściowy do etapu docelowego usługi 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"
}