Pipelines de déploiement et intégration Git de la base de données Eventhouse et KQL (préversion)
La base de données Eventhouses et KQL s’intègrent avec les fonctionnalités de gestion de cycle de vie dans Microsoft Fabric, ce qui permet une collaboration standardisée entre tous les membres de l’équipe de développement tout au long de la vie du produit. Cette fonctionnalité est fournie via intégration Git et pipelines de déploiement.
Dans cet article, vous allez découvrir les options de configuration disponibles via la gestion du cycle de vie de Microsoft Fabric pour la bases de données Eventhouses et KQL.
Intégration Git de la base de données Eventhouse et KQL
La base de données Eventhouse et KQL sont des éléments qui contiennent des métadonnées et des données qui sont référencées dans plusieurs objets de l’espace de travail. La base de données Eventhouse et KQL contiennent des tableaux, des fonctions et des vues matérialisées. Dans le cadre d’un workflow de développement, les objets dépendants suivants peuvent référencer une base de données eventhouse ou KQL :
- Définitions de travaux Spark
- Blocs-notes
- Modèles sémantiques et Power BI
L’intégration Git s’applique au niveau de la plateforme et des données pour les bases de données eventhouses et KQL.
Intégration au niveau de la plateforme
Les informations des bases de données eventhouse et KQL suivantes sont sérialisées et suivies dans un espace de travail connecté à Git :
Eventhouse
- Nom
- Description
- Guid logique
Base de données KQL
- Nom
- Description
- Stratégie de mise en cache
- Stratégie de rétention
- Guid logique
Intégration au niveau des données
L’intégration au niveau des données est obtenue via l’utilisation d’un script KQL pour créer ou modifier des schémas, des propriétés et des stratégies d’objets de base de données. Toutefois, il est important de noter que toutes les commandes prises en charge dans un script KQL ne sont pas compatibles avec Microsoft Fabric ALM.
Base de données KQL
Les objets de base de données suivants sont pris en charge dans le script KQL :
- Table
- Fonction
- Mise à jour de la stratégie de tableau
- Stratégie d’encodage de colonne
- Vue matérialisée
- Mappage d’ingestion de tableau
Pour plus d’informations sur les commandes prises en charge, consultez la description du fichier DatabaseSchema.kql dans Fichiers de base de données KQL.
Représentation d’intégration Git
Chaque élément des bases de données eventhouse et KQL synchronisés avec Git apparaissent dans son propre dossier nommé avec le format suivant : <ItemName>
.<ItemType>
où <ItemName>
est le nom de l’élément et <ItemType>
est le type de l’élément. Par exemple, pour un eventhouse nommé Example qui a une base de données KQL unique nommée ExampleDB, les dossiers suivants apparaissent dans le référentiel Git :
- Exemple.Eventhouse
- ExampleDB.KQLDatabase
Fichiers Eventhouse
Les fichiers suivants sont contenus dans un dossier eventhouse :
.platform
Le fichier utilise le schéma suivant pour définir un eventhouse :
{ "$schema": "https://developer.microsoft.com/json-schemas/fabric/gitIntegration/platformProperties/2.0.0/schema.json", "metadata": { "type": "Eventhouse", "displayName": "", "description": "" }, "config": { "version": "2.0", "logicalId": "" } }
EventhouseProperties.json
Le fichier vous permet de configurer les paramètres au niveau de la plateforme pour l’élément eventhouse.
Fichiers de base de données KQL
Les fichiers suivants sont contenus dans un dossier de base de données KQL :
.platform
Le fichier utilise le schéma suivant pour définir une base de données KQL :
{ "$schema": "https://developer.microsoft.com/json-schemas/fabric/gitIntegration/platformProperties/2.0.0/schema.json", "metadata": { "type": "KQLDatabase", "displayName": "", "description": "" }, "config": { "version": "2.0", "logicalId": "" } }
DatabaseProperties.json
Le fichier utilise le schéma suivant pour configurer les paramètres au niveau de la plateforme pour l’élément de base de données KQL :
{ "databaseType": "ReadWrite", "parentEventhouseItemId": "", "oneLakeCachingPeriod": "P36500D", "oneLakeStandardStoragePeriod": "P36500D" }
Le tableau suivant décrit les propriétés dans le fichier
DatabaseProperties.json
:Propriété Description databaseType Valeurs valides : ReadWrite parentEventhouseItemId L’ID logique de l’eventhouse parent. Cela ne doit pas être modifié. oneLakeCachingPeriod Paramètre au niveau de la base de données pour la stratégie de mise en cache. oneLakeStandardStoragePeriod Paramètre au niveau de la base de données pour la stratégie de rétention. DatabaseSchema.kql
Le fichier est un script KQL qui configure les paramètres au niveau des données pour la base de données KQL. Elle est générée automatiquement lorsque la base de données KQL est synchronisée avec git. Le fichier est exécuté lors de la synchronisation avec votre espace de travail Fabric.
Vous pouvez apporter des modifications à ce script en ajoutant ou en modifiant ces commandes prises en charge :
Objet de base de données Commandes prises en charge Table Créer ou fusionner Fonction Créer ou altérer Mise à jour de la stratégie de tableau Alter Stratégie d’encodage de colonne Alter Vue matérialisée Créer ou altérer Mappage d’ingestion de tableau Créer ou altérer Voici un exemple de script kql pour créer un tableau et son mappage d’ingestion.
// KQL script // Use management commands in this script to configure your database items, such as tables, functions, materialized views, and more. .create-merge table SampleTable (UsageDate:datetime, PublisherType:string, ChargeType:string, ServiceName:string, ServiceTier:string, Meter:string, PartNumber:string, CostUSD:real, Cost:real, Currency:string) .create-or-alter table SampleTable ingestion csv mapping 'SampleTable_mapping' "[{'Properties':{'Ordinal':'0'},'column':'UsageDate','datatype':''},{'Properties':{'Ordinal':'1'},'column':'PublisherType','datatype':''}]"