Freigeben über


Eventstream – GitHub-Integration

Im folgenden Artikel wird die Dateistruktur für Eventstream erläutert, sobald sie mit einem GitHub- oder Azure Devops-Repository synchronisiert wurden.

Ordnerstruktur

Sobald ein Arbeitsbereich mit einem Repository synchronisiert wurde, wird ein Ordner der obersten Ebene für den Arbeitsbereich und ein Unterordner für jedes Element angezeigt, das synchronisiert wurde. Jeder Unterordner ist mit dem Elementnamen formatiert. Elementtyp

Im Ordner für den Eventstream werden die folgenden Dateien angezeigt:

  • Plattform: Definiert Fabric-Plattformwerte wie Anzeigename und Beschreibung.
  • Eigenschaften: Definiert elementspezifische Werte.

Hier ist ein Beispiel dafür, wie die Ordnerstruktur aussieht:

Repo-

  • Arbeitsbereich A
    • Item_A.Eventstream
      • .Plattform
      • EventstreamProperties.json
  • Arbeitsbereich B
    • Item_C.Ereignisstrom
      • .Plattform
      • EventstreamProperties.json

Eventstream-Dateien

Die folgenden Dateien sind in einem Eventstream-Ordner enthalten:

  • .Plattform

    Die Datei verwendet das folgende Schema, um einen Ereignisstream zu definieren:

    {
      "$schema": "https://developer.microsoft.com/json-schemas/fabric/gitIntegration/platformProperties/2.0.0/schema.json",
      "metadata": {
        "type": "Eventstream",
        "displayName": "",
        "description": ""
      },
      "config": {
        "version": "2.0",
        "logicalId": ""
      }
    }
    
  • EventstreamProperties.json

    Mit der Datei können Sie Einstellungen auf Plattformebene für das Eventstream-Element konfigurieren. Hier ist eine Beispieldatei:

    {
        "sources": [
            {
                "name": "AzureEventHubSource",
                "type": "AzureEventHub",
                "properties": {
                    "dataConnectionId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
                    "consumerGroupName": "$Default",
                    "inputSerialization": {
                        "type": "Json",
                        "properties": {
                            "encoding": "UTF8"
                        }
                    }
                }
            },
            {
                "name": "AzureIoTHubSource",
                "type": "AzureIoTHub",
                "properties": {
                    "dataConnectionId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
                    "consumerGroupName": "$Default",
                    "inputSerialization": {
                        "type": "Json",
                        "properties": {
                            "encoding": "UTF8"
                        }
                    }
                }
            }
        ],
        "destinations": [
            {
                "name": "CustomEndpointDestination",
                "type": "CustomEndpoint",
                "properties": {},
                "inputNodes": [
                    {
                        "name": "myEventstream-stream"
                    }
                ]
            },
            {
                "name": "LakehouseDestination",
                "type": "Lakehouse",
                "properties": {
                    "workspaceId": "00000000-0000-0000-0000-000000000000",
                    "itemId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
                    "schema": "dbo",
                    "deltaTable": "deltaTable",
                    "minimumRows": 100000,
                    "maximumDurationInSeconds": 120,
                    "inputSerialization": {
                        "type": "Json",
                        "properties": {
                            "encoding": "UTF8"
                        }
                    }
                },
                "inputNodes": [
                    {
                        "name": "myEventstream-stream"
                    }
                ]
            }
        ],
        "streams": [
            {
                "name": "myEventstream-stream",
                "type": "DefaultStream",
                "properties": {},
                "inputNodes": [
                    {
                        "name": "sourceName"
                    }
                ]
            },
            {
                "name": "DerivedStreamName",
                "type": "DerivedStream",
                "properties": {
                    "inputSerialization": {
                        "type": "Json",
                        "properties": {
                            "encoding": "UTF8"
                        }
                    }
                },
                "inputNodes": [
                    {
                        "name": "FilterName"
                    }
                ]
            }
        ],
        "operators": [
            {
                "name": "FilterName",
                "type": "Filter",
                "inputNodes": [
                    {
                        "name": "myEventstream-stream"
                    }
                ],
                "properties": {
                    "conditions": [
                        {
                            "column": {
                                "node": null,
                                "columnName": "BikepointID",
                                "columnPath": null,
                                "expressionType": "ColumnReference"
                            },
                            "operatorType": "NotEquals",
                            "value": {
                                "dataType": "Nvarchar(max)",
                                "value": "0",
                                "expressionType": "Literal"
                            }
                        }
                    ]
                }
            }
        ],
        "compatibilityLevel": "1.0"
    }    
    

Ein vollständiges Beispiel mit allen Arten von Quellen, Zielen und Operatoren finden Sie unter eventstream-definition.json.