Delen via


Eventstream - GitHub-integratie

In het volgende artikel wordt de bestandsstructuur voor Eventstream beschreven zodra deze zijn gesynchroniseerd met een GitHub- of Azure Devops-opslagplaats.

Mapstructuur

Zodra een werkruimte is gesynchroniseerd met een opslagplaats, ziet u een map op het hoogste niveau voor de werkruimte en een submap voor elk item dat is gesynchroniseerd. Elke submap is opgemaakt met itemnaam. Itemtype

In de map voor de eventstream ziet u de volgende bestanden:

  • Platform: Definieert platformwaarden voor infrastructuur zoals Weergavenaam en Beschrijving.
  • Eigenschappen: Hiermee definieert u itemspecifieke waarden.

Hier volgt een voorbeeld van hoe de mapstructuur eruitziet:

Repository

  • Werkruimte A
    • Item_A.Eventstream
      • .platform
      • EventstreamProperties.json
  • Werkruimte B
    • Item_C.Eventstream
      • .platform
      • EventstreamProperties.json

Eventstream-bestanden

De volgende bestanden bevinden zich in een eventstream folder:

  • .platform

    Het bestand maakt gebruik van het volgende schema om een eventstream te definiƫren:

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

    Met het bestand kunt u instellingen op platformniveau configureren voor het eventstream-item. Hier volgt een voorbeeldbestand:

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

Zie eventstream-definition.jsonvoor een volledig voorbeeld met alle typen bronnen, bestemmingen en operators.