Поделиться через


Eventstream — интеграция GitHub

В следующей статье описана структура файлов для Eventstream после синхронизации с репозиторием GitHub или Azure Devops.

Структура папок

После синхронизации рабочей области с репозиторием вы увидите папку верхнего уровня для рабочей области и вложенную папку для каждого элемента, который был синхронизирован. Каждая вложенная папка отформатирована с именем элемента. Тип элемента

В папке для потока событий отображаются следующие файлы:

  • Платформа: определяет значения системы платформы, такие как отображаемое имя и описание.
  • Свойства: определяет определенные значения элементов.

Ниже приведен пример того, как выглядит структура папок:

Репо

  • Рабочая область A
    • Item_A.Eventstream
      • платформа
      • EventstreamProperties.json
  • Рабочая область B
    • Item_C.Eventstream
      • платформа
      • EventstreamProperties.json

Файлы eventstream

Следующие файлы содержатся в папке eventstream:

  • .платформа

    Файл использует следующую схему для определения потока событий:

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

    Файл позволяет настроить параметры уровня платформы для элемента eventstream. Ниже приведен пример файла:

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

Для полного примера, который включает все типы источников, назначений и операторов, см. eventstream-definition.json.