Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье представлена разбивка структуры определения для элементов Eventstream.
Части определения
В этой таблице перечислены части определения eventstream.
| Путь к части определения | тип | Обязательно | Описание |
|---|---|---|---|
eventstream.json |
Eventstream (JSON) | ✅ | Описание топологии элемента Eventstream |
eventstreamProperties.json |
EventstreamProperties (JSON) | ❌ | Описание метаданных eventstream |
.platform |
PlatformDetails (JSON) | ❌ | Описание метаданных элемента |
Каждая часть определения элемента Eventstream создается следующим образом:
-
Путь: имя файла, например:
eventstream.json - Тип полезных данных: InlineBase64
- Полезные данные: см . пример содержимого полезных данных, декодированного из Base64
Поток событий
Описание топологии элемента Eventstream.
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
sources |
Массив | правда | Описывает источники данных, которые могут быть приема в eventstream для обработки. |
destinations |
Массив | правда | Описывает конечные точки в Fabric, в которых обработанные данные можно направлять в, в том числе Lakehouse, Eventhouse, Reflex и другие. |
operators |
Массив | правда | Определите обработчики событий, обрабатывающие потоки данных в режиме реального времени, такие как Filter, Aggregate, Group By и Join. |
streams |
Массив | правда | Описывает потоки данных, доступные для подписки и анализа в Центре реального времени. Существует два типа потоков: потоки по умолчанию и производные потоки. |
Пример eventstream.json
Сведения о создании JSON-файла, описывающего элемент Eventstream, см. в разделе REST API eventstream.
{
"sources": [
{
"name": "myEventHub",
"type": "AzureEventHub",
"properties": {
"dataConnectionId": "cc8271ee-8f72-473d-969c-6828f5fd0d45",
"consumerGroupName": "$Default",
"inputSerialization": {
"type": "Json",
"properties": {
"encoding": "UTF8"
}
}
}
}
],
"destinations": [
{
"name": "myLakehouse",
"type": "Lakehouse",
"properties": {
"workspaceId": "fdf52f3a-b687-41b8-8ff8-aeeca4d1edd8",
"itemId": "737d6a97-e88c-45e1-9c39-adf1c9c4e817",
"schema": "",
"deltaTable": "newTable",
"minimumRows": 100000,
"maximumDurationInSeconds": 120,
"inputSerialization": {
"type": "Json",
"properties": {
"encoding": "UTF8"
}
}
},
"inputNodes": [
{
"name": "derivedStream"
}
]
}
],
"streams": [
{
"name": "myEventstream-stream",
"type": "DefaultStream",
"properties": {},
"inputNodes": [
{
"name": "myEventHub"
}
]
},
{
"name": "derivedStream",
"type": "DerivedStream",
"properties": {
"inputSerialization": {
"type": "Json",
"properties": {
"encoding": "UTF8"
}
}
},
"inputNodes": [
{
"name": "GroupBy"
}
]
}
],
"operators": [
{
"name": "GroupBy",
"type": "GroupBy",
"inputNodes": [
{
"name": "myEventstream-stream"
}
],
"properties": {
"aggregations": [
{
"aggregateFunction": "Average",
"column": {
"expressionType": "ColumnReference",
"node": null,
"columnName": "payload",
"columnPathSegments": [
{
"field": "ts_ms"
}
]
},
"alias": "AVG_ts_ms"
}
],
"groupBy": [],
"window": {
"type": "Tumbling",
"properties": {
"duration": {
"value": 5,
"unit": "Minute"
},
"offset": {
"value": 1,
"unit": "Minute"
}
}
}
}
}
],
"compatibilityLevel": "1.0"
}
Чтобы создать элемент Eventstream для полезных данных API, можно использовать шаблон GitHub для определения элемента Eventstream.
EventstreamProperties
Описание метаданных eventstream.
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
retentionTimeInDays |
Целое число | ❌ | Описывает дни хранения элемента Eventstream. Значение по умолчанию — 1. Допустимый диапазон значений от 1 до 90. |
eventThroughputLevel |
Перечисление | ❌ | Описывает уровень пропускной способности события элемента Eventstream. Значение по умолчанию — "Низкий". Допустимые значения: Low, Medium, High. |
Пример eventstreamProperties.json
{
"retentionTimeInDays": 1,
"eventThroughputLevel": "Low"
}
Часть платформы
Полезные данные платформы необязательны. Часть платформы — это файл, содержащий сведения о метаданных Eventstream.
- Создание элемента с определением учитывает файл платформы, если он указан.
- определение элемента всегда возвращает файл платформы.
- При указании определения элемента обновления принимается файл платформы, если задан новый параметр URL-адреса
updateMetadata=true.
Пример определения
Ниже приведен пример определения потока событий в кодировке Base64, где содержимое из примера полезных данных, декодированное из Base64 , закодировано в Base64 и помещается в payload поле с заданным путьом eventstream.json :
{
"displayName": "myEventstream",
"type": "Eventstream",
"description": "Create Eventstream item with definition",
"definition": {
"parts": [
{
"path": "eventstream.json",
"payload": "<base64 encoded string>",
"payloadType": "InlineBase64"
},
{
"path": "eventstreamProperties.json",
"payload": "<base64 encoded string>",
"payloadType": "InlineBase64"
},
{
"path": ".platform",
"payload": "ZG90UGxhdGZvcm1CYXNlNjRTdHJpbmc=",
"payloadType": "InlineBase64"
}
]
}
}