Поделиться через


Отправка данных в Microsoft Fabric из конвейера обработчика данных

Внимание

Предварительная версия операций Интернета вещей Azure, включенная Azure Arc в настоящее время находится в предварительной версии. Не следует использовать это программное обеспечение предварительной версии в рабочих средах.

Юридические условия, применимые к функциям Azure, которые находятся в состоянии бета-версии, предварительной версии или иным образом еще не выпущены в общедоступной версии, см. на странице Дополнительные условия использования предварительных версий в Microsoft Azure.

Используйте назначение Fabric Lakehouse для записи данных в lakehouse в Microsoft Fabric из конвейера предварительной версии обработчика данных Интернета вещей Azure. На целевом этапе файлы parquet записываются в lakehouse, что позволяет просматривать данные в разностных таблицах. Конечный этап пакетирует сообщения перед отправкой их в Microsoft Fabric.

Необходимые компоненты

Чтобы настроить и использовать этап целевого конвейера Microsoft Fabric, вам потребуется:

  • Развернутый экземпляр обработчика данных.
  • Подписка Microsoft Fabric. Или зарегистрируйте бесплатную пробную версию Microsoft Fabric (предварительная версия).
  • Лейкхаус в Microsoft Fabric.

Настройка Microsoft Fabric

Перед записью в Microsoft Fabric из конвейера данных необходимо предоставить доступ к lakehouse из конвейера. Для проверки подлинности конвейера можно использовать субъект-службу или управляемое удостоверение. Преимущество использования управляемого удостоверения заключается в том, что вам не нужно управлять жизненным циклом субъекта-службы. Управляемое удостоверение автоматически управляется Azure и привязано к жизненному циклу назначенного ресурса.

Перед настройкой доступа субъекта-службы или управляемого удостоверения к lakehouse включите проверку подлинности субъекта-службы.

Чтобы создать субъект-службу с секретом клиента, выполните приведенные действия.

  1. Чтобы создать субъект-службу, используйте следующую команду Azure CLI.

    az ad sp create-for-rbac --name <YOUR_SP_NAME> 
    
  2. Выходные данные этой команды включают appId, displayNamepasswordи tenant. Запишите эти значения для использования при настройке доступа к облачному ресурсу, например Microsoft Fabric, созданию секрета и настройке назначения конвейера:

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

Чтобы добавить субъект-службу в рабочую область Microsoft Fabric, выполните следующие действия.

  1. Запишите идентификатор рабочей области и идентификатор lakehouse. Эти значения можно найти в URL-адресе, используемом для доступа к lakehouse:

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

  2. В рабочей области выберите "Управление доступом":

    Снимок экрана, на котором показано, как найти ссылку

  3. Выберите " Добавить людей или группы":

    Снимок экрана: добавление пользователя.

  4. Найдите субъект-службу по имени. Начните вводить текст, чтобы просмотреть список соответствующих субъектов-служб. Выберите субъект-службу, созданный ранее:

    Снимок экрана: добавление субъекта-службы.

  5. Предоставьте администратору субъекта-службы доступ к рабочей области.

Настройка секрета

Для подключения к Microsoft Fabric целевому этапу требуется доступ к секрету, содержаму сведения о проверке подлинности. Чтобы создать секрет:

  1. Используйте следующую команду, чтобы добавить секрет в Azure Key Vault, содержащий секрет клиента, который вы заметили при создании субъекта-службы:

    az keyvault secret set --vault-name <your-key-vault-name> --name AccessFabricSecret --value <client-secret>
    
  2. Добавьте ссылку на секрет в кластер Kubernetes, выполнив действия по управлению секретами для развертывания Azure IoT Operations Preview.

Настройка конечного этапа

Конфигурация JSON конечного этапа Fabric Lakehouse определяет сведения о стадии. Чтобы создать этап, вы можете взаимодействовать с пользовательским интерфейсом на основе форм или предоставить конфигурацию JSON на вкладке "Дополнительно ":

Поле Тип Описание Обязательное поле По умолчанию. Пример
Показать имя Строка Имя, отображаемое в пользовательском интерфейсе обработчика данных. Да - Azure IoT MQ output
Description Строка Понятное описание того, что делает этап. No Write to topic default/topic1
WorkspaceId Строка Идентификатор рабочей области Lakehouse. Да -
LakehouseId Строка Идентификатор Lakehouse Lakehouse. Да -
Таблица Строка Имя таблицы для записи. Да -
Путь к файлу1 Шаблон Путь к файлу для записи файла Parquet. No {{{instanceId}}}/{{{pipelineId}}}/{{{partitionId}}}/{{{YYYY}}}/{{{MM}}}/{{{DD}}}/{{{HH}}}/{{{mm}}}/{{{fileNumber}}}
Пакет2 Пакетная обработка Как пакетировать данные. No 60s 10s
Проверка подлинности4 Строка Сведения о проверке подлинности для подключения к Обозреватель данных Azure. Service principal или Managed identity Субъект-служба Да -
Повторить попытку Повторить Политика повторных попыток, используемая. No default fixed
Имя столбцов > строка Имя столбца. Да temperature
Типстолбцов > 3 string enum Тип данных, содержащихся в столбце, с помощью одного из типов примитивов Delta. Да integer
Путь к столбцам > Путь Расположение в каждой записи данных, откуда следует считывать значение столбца. No .{{name}} .temperature

1Путь к файлу: для записи файлов в Microsoft Fabric требуется путь к файлу. Вы можете использовать шаблоны для настройки путей к файлам. Пути к файлам должны содержать следующие компоненты в любом порядке:

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

Имена файлов являются добавочными целыми значениями fileNumber, как указано в . Не забудьте включить расширение файла, если вы хотите, чтобы система распознала тип файла.

2Пакетная обработка. Пакетная обработка является обязательной при записи данных в Microsoft Fabric. Конечный этап пакетирует сообщения через настраиваемый интервал времени.

Если интервал пакетной обработки не настроен, этап использует 60 секунд в качестве значения по умолчанию.

3Тип: обработчик данных записывает данные в Microsoft Fabric с помощью разностного формата. Обработчик данных поддерживает все разностные примитивные типы данных, кроме decimal и timestamp without time zone.

Чтобы убедиться, что все даты и время представлены правильно в Microsoft Fabric, убедитесь, что значение свойства является допустимой строкой RFC 3339 и типом данных является либо datetimestamp.

1Проверка подлинности. В настоящее время целевой этап поддерживает проверку подлинности на основе субъекта-службы или управляемое удостоверение при подключении к Microsoft Fabric.

Проверка подлинности на основе субъекта-службы

Чтобы настроить проверку подлинности на основе субъекта-службы, укажите следующие значения. Вы запишите эти значения при создании субъекта-службы и добавили в кластер ссылку на секрет.

Поле Description Обязательное поле
TenantId Идентификатор клиента. Да
ClientId Идентификатор приложения, который вы заметили при создании субъекта-службы, имеющего доступ к базе данных. Да
Секретный Ссылка на секрет, созданная в кластере. Да

Пример конфигурации

В следующем примере JSON показана полная конфигурация конечного этапа Microsoft Fabric lakehouse, которая записывает все сообщение quickstart в таблицу в базе данных:

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

Конфигурация определяет следующее:

  • Сообщения пакетируются в течение 5 секунд.
  • Использует пакетный путь .payload для поиска данных для столбцов.

Пример

В следующем примере показан пример входного сообщения на целевом этапе 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"
}