Отправка данных в 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 включите проверку подлинности субъекта-службы.
Чтобы создать субъект-службу с секретом клиента, выполните приведенные действия.
Чтобы создать субъект-службу, используйте следующую команду Azure CLI.
az ad sp create-for-rbac --name <YOUR_SP_NAME>
Выходные данные этой команды включают
appId
,displayName
password
иtenant
. Запишите эти значения для использования при настройке доступа к облачному ресурсу, например Microsoft Fabric, созданию секрета и настройке назначения конвейера:{ "appId": "<app-id>", "displayName": "<name>", "password": "<client-secret>", "tenant": "<tenant-id>" }
Чтобы добавить субъект-службу в рабочую область Microsoft Fabric, выполните следующие действия.
Запишите идентификатор рабочей области и идентификатор lakehouse. Эти значения можно найти в URL-адресе, используемом для доступа к lakehouse:
https://msit.powerbi.com/groups/<your workspace ID>/lakehouses/<your lakehouse ID>?experience=data-engineering
В рабочей области выберите "Управление доступом":
Выберите " Добавить людей или группы":
Найдите субъект-службу по имени. Начните вводить текст, чтобы просмотреть список соответствующих субъектов-служб. Выберите субъект-службу, созданный ранее:
Предоставьте администратору субъекта-службы доступ к рабочей области.
Настройка секрета
Для подключения к Microsoft Fabric целевому этапу требуется доступ к секрету, содержаму сведения о проверке подлинности. Чтобы создать секрет:
Используйте следующую команду, чтобы добавить секрет в Azure Key Vault, содержащий секрет клиента, который вы заметили при создании субъекта-службы:
az keyvault secret set --vault-name <your-key-vault-name> --name AccessFabricSecret --value <client-secret>
Добавьте ссылку на секрет в кластер 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 и типом данных является либо date
timestamp
.
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"
}