Прежде всего, существует разница между темами домена и пользовательскими темами.Темы доменов слабо отделены от подписчиков, и они создаются динамически в зависимости от интересов подписчика.
Другими словами, если нет интереса (нет подписки) для этой темы домена, тема домена не существует в Домене событий, и сообщение о событии, опубликованное для этой темы домена, перенаправит его в доменподписчик (если есть подписка на домен).
В вашем случае вы создали две подписки на домен событий topic1 и topic2.Если эти подписки были созданы впервые для этих тем, домен автоматически создаст эти темы (topic1, topic2) в ресурсе домена событий.
Предварительный просмотр AEG Event Domain поддерживает отправку массива событий в разделы домена событий.В следующем фрагменте экрана показан пример событий с использованием схемы ввода по умолчанию (например, EventGridSchema):
[
{
"topic": "topic1",
"id": "12345",
"subject": "/myapp/vehicles/motorcycles",
"eventType": "recordInserted",
"eventTime": "2019-02-05T16:57:16.5734282Z",
"data": {
"make": "Ducati",
"model": "Monster"
}
},
{
"topic": "topic2",
"id": "67890",
"subject": "/myapp/vehicles/motorcycles",
"eventType": "recordInserted",
"eventTime": "2019-02-05T16:57:16.5734282Z",
"data": {
"make": "Ducati",
"model": "Monster"
}
}
]
Как вы можете видеть, указанное выше каждое событие (в этой EventGridSchema) отображает источник интереса в доментема.Особый случай - когда мы использовали CustomInputSchema, где это отображение может быть настроено (например, значение по умолчанию и / или sourceField).
Ответ на ваш вопрос о «тематической трансляции» в AEG Pub / Sub Model - НЕТ. Модель AEG поддерживает подписку только на одну тему .Было бы хорошо подписаться на несколько тем в домене событий, например, используя расширенную фильтрацию с ключом = тема, но это не работает.
Подписка на домен событий для шаблона разветвления:
Особым случаем может быть подписка на домен событий и использование расширенной фильтрации, см. Следующий пример:
"advancedFilters": [
{
"values": [
"topics/topic1",
"topics/topic2"
],
"operatorType": "StringEndsWith",
"key": "topic"
}
На основе описанного выше «обходного пути» вы можете создать несколько групп разветвления (широковещания) в домене событий.Максимальное количество подписок на события области действия домена составляет 50 при предварительном просмотре.
Домены событий - это отличная функция в модели событий AEG, например, в теме уровня домена есть встроенная агрегация событий (шаблон Fan-In).Если событие источника интереса имеет неизвестную тему домена (подписка отсутствует), событие может быть перехвачено подписчиком домена.