Freigeben über


Bereitstellungspipelines für Eventhouse- und KQL-Datenbanken und Git-Integration (Vorschau)

Eventhouse- und KQL-Datenbanken integrieren in die Funktionen zur Lebenszyklusverwaltung in Microsoft Fabric integriert werden und ermöglicht so während der gesamten Lebensdauer des Produkts eine standardisierte Zusammenarbeit zwischen allen Mitgliedern des Entwicklungsteams. Diese Funktionalität wird über Git-Integration und Bereitstellungspipelines bereitgestellt.

In diesem Artikel erfahren Sie mehr über die Konfigurationsoptionen, die über die Lebenszyklusverwaltung von Microsoft Fabric für Eventhouse- und KQL-Datenbanken verfügbar sind.

Git-Integration der Eventhouse- und KQL-Datenbank

Die Eventhouse- und KQL-Datenbank sind Elemente, die sowohl Metadaten als auch Daten enthalten, auf die in mehreren Objekten im Arbeitsbereich verwiesen wird. Eventhouse- und KQL-Datenbanken enthalten Tabellen, Funktionen und materialisierte Ansichten. Aus der Perspektive eines Entwicklungsworkflows können die folgenden abhängigen Objekte auf eine Eventhouse- oder KQL-Datenbank verweisen:

Die Git-Integration gilt auf Plattform- und Datenebene für Eventhouse- und KQL-Datenbanken.

Integration auf Plattformebene

Die folgenden Eventhouse- und KQL-Datenbankinformationen werden serialisiert und in einem Git-verbundenen Arbeitsbereich nachverfolgt:

  • Eventhouse

    • Name
    • Beschreibung
    • Logische GUID
  • KQL-Datenbank

    • Name
    • Beschreibung
    • Richtlinie zum Zwischenspeichern
    • Aufbewahrungsrichtlinie
    • Logische GUID

Integration auf Datenebene

Die Integration auf Datenebene erfolgt mithilfe eines KQL-Skripts zum Erstellen oder Ändern von Datenbankobjektschemas, Eigenschaften und Richtlinien. Beachten Sie jedoch, dass nicht alle Befehle, die in einem KQL-Skript unterstützt werden, mit Microsoft Fabric ALM kompatibel sind.

  • KQL-Datenbank

    Die folgenden Datenbankobjekte werden im KQL-Skript unterstützt:

    • Tabelle
    • Funktion
    • Tabellenrichtlinienaktualisierung
    • Spaltencodierungsrichtlinie
    • Materialisierte Sicht
    • Tabellenerfassungszuordnung

    Informationen zu unterstützten Befehlen finden Sie in der Dateibeschreibung DatabaseSchema.kql unter KQL-Datenbankdateien.

Git-Integrationsdarstellung

Alle mit Git synchronisierte Eventhouse- und KQL-Datenbankelemente werden in einem eigenen Ordner mit dem Namen des folgenden Formats angezeigt: <ItemName>.<ItemType> wobei <ItemName> den Name des Elements und <ItemType> den Typ des Elements darstellt. Beispielsweise werden für ein Eventhouse mit dem Namen Beispiel, das über eine einzelne KQL-Datenbank mit dem Namen BeispielDB verfügt, die folgenden Ordner im Git-Repository angezeigt:

  • Beispiel.Eventhouse
  • BeispielDB.KQLDatabank

Eventhouse-Dateien

Die folgenden Dateien sind in einem Eventhouse-Ordner enthalten:

  • .Plattform

    Die Datei verwendet das folgende Schema, um ein Eventhouse zu definieren:

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

    Mit der Datei können Sie Einstellungen auf Plattformebene für das Eventhouse-Element konfigurieren.

KQL Datnebankdateien

Die folgenden Dateien sind in einem KQL-Datenbankordner enthalten:

  • .Plattform

    Die Datei verwendet das folgende Schema, um eine KQL-Datenbank zu definieren:

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

    Die Datei verwendet das folgende Schema, um Einstellungen auf Plattformebene für das KQL-Datenbankelement zu konfigurieren:

    {
      "databaseType": "ReadWrite",
      "parentEventhouseItemId": "",
      "oneLakeCachingPeriod": "P36500D",
      "oneLakeStandardStoragePeriod": "P36500D"
    }
    

    In der folgenden Tabelle werden die Eigenschaften in der Datei DatabaseProperties.json beschrieben:

    Eigenschaft Beschreibung
    databaseType Gültige Werte: ReadWrite
    parentEventhouseItemId Die logische ID des übergeordneten Eventhouse. Dies sollte nicht geändert werden.
    oneLakeCachingPeriod Einstellung auf Datenbankebene für die Zwischenspeicherungsrichtlinie.
    oneLakeStandardStoragePeriod Einstellung auf Datenbankebene für die Aufbewahrungsrichtlinie.
  • DatabaseSchema.kql

    Die Datei ist ein KQL-Skript, das die Einstellungen auf Datenebene für die KQL-Datenbank konfiguriert. Es wird automatisch generiert, wenn die KQL-Datenbank mit Git synchronisiert wird. Die Datei wird ausgeführt, wenn sie mit Ihrem Fabric-Arbeitsbereich synchronisiert wird.

    Sie können Änderungen an diesem Skript vornehmen, indem Sie die folgenden unterstützten Befehle hinzufügen oder ändern:

    Datenbankobjekt Unterstützte Befehle
    Tabelle Erstellen oder Zusammenführen
    Funktion Erstellen oder ändern
    Tabellenrichtlinienaktualisierung Alter
    Spaltencodierungsrichtlinie Alter
    Materialisierte Sicht Erstellen oder ändern
    Tabellenerfassungszuordnung Erstellen oder ändern

    Im Folgenden finden Sie ein Beispiel für ein KQL-Skript zum Erstellen einer Tabelle und der zugehörigen Erfassungszuordnung.

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