Envoyer des données à Microsoft Fabric à partir d’un pipeline de processeur de données
Important
Opérations Azure IoT (préversion) – activé parc Azure Arc est actuellement en PRÉVERSION. Vous ne devez pas utiliser ce logiciel en préversion dans des environnements de production.
Vous devrez déployer une nouvelle installation d’Azure IoT Operations lorsqu’une version en disponibilité générale est mise à disposition, vous ne pourrez pas mettre à niveau une installation en préversion.
Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure.
Utilisez la destination Fabric Lakehouse pour écrire des données dans un lakehouse dans Microsoft Fabric à partir d’un pipeline de processeur de données. L’étape de destination écrit des fichiers Parquet dans un lakehouse qui vous permet d’afficher les données dans les tables delta. L’étape de destination traite les messages avant de les envoyer à Microsoft Fabric.
Prérequis
Pour configurer et utiliser une phase de destination de pipeline vers Microsoft Fabric, vous avez besoin des éléments suivants :
- Instance déployée du processeur de données.
- Un abonnement Microsoft Fabric. Ou, inscrivez-vous pour une capacité d’essai Microsoft Fabric gratuite.
- Un Lakehouse dans Microsoft Fabric.
Configurer Microsoft Fabric
Avant de pouvoir écrire dans Microsoft Fabric à partir d’un pipeline de données, vous devez accorder l’accès au lac de données à partir du pipeline. Vous pouvez utiliser un principal de service ou une identité managée pour authentifier le pipeline. L’avantage d’une identité managée est que vous n’avez pas besoin de gérer le cycle de vie du principal de service. L’identité managée est automatiquement gérée par Azure et est liée au cycle de vie de la ressource à laquelle elle est attribuée.
Avant de configurer l’accès du principal de service ou de l’identité managée à un lac de données, activez l’authentification du principal de service.
Pour créer un principal de service avec une clé secrète client :
Exécutez la commande Azure CLI suivante pour créer un principal de service :
az ad sp create-for-rbac --name <YOUR_SP_NAME>
Les sorties de cette commande incluent les éléments suivants :
appId
,displayName
,password
ettenant
. Notez ces valeurs à utiliser lorsque vous configurez l’accès à votre ressource cloud, comme Microsoft Fabric, créez un secret et configurez une destination de pipeline :{ "appId": "<app-id>", "displayName": "<name>", "password": "<client-secret>", "tenant": "<tenant-id>" }
Pour ajouter le principal de service à votre espace de travail Microsoft Fabric :
Notez l’ID de votre espace de travail et l’ID de votre lakehouse. Vous trouverez ces valeurs dans l’URL que vous utilisez pour accéder à votre lakehouse :
https://msit.powerbi.com/groups/<your workspace ID>/lakehouses/<your lakehouse ID>?experience=data-engineering
Dans votre espace de travail, sélectionnez Gérer les accès :
Sélectionnez Ajouter des personnes ou des groupes :
Recherchez votre principal de service par nom. Commencez à taper pour obtenir une liste des principaux de service correspondants. Sélectionnez le principal de service que vous avez créé précédemment :
Accordez à l’administrateur de votre principal de service l’accès à l’espace de travail.
Configurez votre secret
Pour que la phase de destination se connecte à Microsoft Fabric, elle doit accéder à un secret qui contient les détails de l’authentification. Pour créer un secret :
Utilisez la commande suivante pour ajouter un secret à votre Azure Key Vault qui contient la clé secrète client que vous avez notée lors de la création du principal de service :
az keyvault secret set --vault-name <your-key-vault-name> --name AccessFabricSecret --value <client-secret>
Ajoutez la référence du secret à votre cluster Kubernetes en suivant les étapes décrites dans Gérer les secrets pour le déploiement de vos opérations Azure IoT (préversion).
Configurez l’étape de destination
La configuration JSON de l’étape de destination vers Fabric Lakehousedéfinit les détails de l’étape. Pour créer cette étape, vous pouvez interagir avec l’interface utilisateur basée sur des formulaires ou fournir la configuration JSON sous l’onglet Advanced (Avancé) :
Champ | Type | Description | Obligatoire | Par défaut | Exemple |
---|---|---|---|---|---|
Nom d’affichage | Chaîne | Nom à afficher dans l’interface utilisateur du processeur de données. | Oui | - | MQTT broker output |
Description | Chaîne | Description conviviale de ce que fait l’index. | Non | Write to topic default/topic1 |
|
WorkspaceId | Chaîne | L’ID de l’espace de travail du lakehouse. | Oui | - | |
L’ID du Lakehouse | Chaîne | L’ID du lakehouse de Lakehouse. | Oui | - | |
Table | Chaîne | Nom de la table dans laquelle écrire. | Oui | - | |
Le chemin d’accès au fichier1 | Modèle | Le chemin d’accès au fichier dans lequel écrire le fichier Parquet. | Non | {{{instanceId}}}/{{{pipelineId}}}/{{{partitionId}}}/{{{YYYY}}}/{{{MM}}}/{{{DD}}}/{{{HH}}}/{{{mm}}}/{{{fileNumber}}} |
|
Lot2 | Batch | Procédure pour regrouper les données. | Non | 60s |
10s |
Authentification4 | Chaîne | Détails de l’authentification pour se connecter à Azure Data Explorer. Service principal ou Managed identity |
Principal du service | Oui | - |
Réessayer | Réessayer | La stratégie de nouvelles tentatives à utiliser. | Non | default |
fixed |
Nom> des colonnes | string | Nom de la colonne. | Oui | temperature |
|
Colonnes > Type3 | énumération de chaînes | Le type de données conservées dans la colonne, à l’aide de l’un des types primitifs Delta. | Oui | integer |
|
Chemin d’accès > des colonnes | Chemin d’accès | L’emplacement à l’intérieur de chaque enregistrement de donnée où lire la valeur d’une colonne. | Non | .{{name}} |
.temperature |
1Chemin de fichier : pour écrire des fichiers dans Microsoft Fabric, vous avez besoin d’un chemin de fichier. Vous pouvez utiliser des modèles pour configurer les chemins d’accès aux fichiers. Les chemins d’accès aux fichiers doivent contenir les composants suivants dans n’importe quel ordre :
instanceId
pipelineId
partitionId
YYYY
MM
DD
HH
mm
fileNumber
Les noms de fichiers sont des valeurs d’entier incrémentielles, comme indiqué par fileNumber
. Veillez à inclure une extension de fichier si vous souhaitez que votre système reconnaisse le type de fichier.
2Traitement par lot : le traitement par lot est obligatoire quand vous écrivez des données dans Microsoft Fabric. L’étape de destination regroupe des messages sur un intervalle de temps configurable.
Si vous ne configurez pas d’intervalle de traitement par lots, l’étape utilise une valeur par défaut de 60 secondes.
3Type : le processeur de données écrit dans Microsoft Fabric en utilisant le format delta. Le processeur de données prend en charge tous les types primitifs de données delta à l’exception des types decimal
et timestamp without time zone
.
Pour vous assurer que toutes les dates et heures sont représentées correctement dans Microsoft Fabric, vérifiez que la valeur de la propriété est une chaîne RFC 3339 valide et que le type de données est date
ou timestamp
.
1Authentification : actuellement, la phase de destination prend en charge l’authentification basée sur le principal de service ou l’identité managée quand elle se connecte à Microsoft Fabric.
Authentification basée sur le principal de service
Pour configurer l’authentification basée sur le principal de service, fournissez les valeurs suivantes. Vous avez noté ces valeurs lorsque vous avez créé le principal de service et ajouté la référence secrète à votre cluster.
Champ | Description | Obligatoire |
---|---|---|
TenantId | L’ID de l’abonné. | Oui |
ClientId | L’ID de l’application que vous avez noté lors de la création du principal de service qui accède à la base de données. | Oui |
Secret | La référence secrète que vous avez créée dans votre cluster. | Oui |
Exemple de configuration
L’exemple JSON suivant montre une configuration complète de l’étape de destination vers Microsoft Fabric Lakehouse qui écrit l’intégralité du message dans la tablequickstart
de la base de données :
{
"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
}
}
Cette configuration définit que :
- Les messages sont traités par lot pendant 5 secondes.
- Le chemin d’accès du lot
.payload
est utilisé pour localiser les données des colonnes.
Exemple
L’exemple suivant présente un exemple de message d’entrée vers l’étape de destination d’un lakehouse de Microsoft Fabric :
{
"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"
}