Partager via


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 :

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><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':''}]"