Сопоставление настраиваемых полей со схемой службы "Сетка событий Azure"
Статья
Если данные события не соответствуют ожидаемой схеме службы "Сетка событий", вы по-прежнему можете использовать службу "Сетка событий", чтобы выполнять маршрутизацию событий для подписчиков. В этой статье описывается сопоставление схемы со схемой службы "Сетка событий".
Исходная схема событий
Предположим, что у вас есть приложение, которое отправляет события в следующем формате:
Несмотря на то, что данный формат не соответствует требуемой схеме, служба "Сетка событий" позволяет сопоставлять поля со схемой. Или же вы можете получить значения в исходной схеме.
Создание настраиваемого раздела с сопоставленными полями
При создании настраиваемого раздела укажите способ сопоставления полей исходного события со схемой службы "Сетка событий". Существует три значения, которые позволяют настраивать сопоставление:
Значение input schema указывает тип схемы. Его возможные значения: схема CloudEvents, схема custom event или схема "Сетка событий". Значение по умолчанию — схема "Сетка событий". При создании настраиваемого сопоставления между своей схемой и схемой "Сетка событий" используйте значение "схема custom event". Если события находятся в формате CloudEvents, используйте схему CloudEvents.
Свойство mapping default values задает значения по умолчанию для полей в схеме "Сетка событий". Можно задать значения по умолчанию для subject, eventtype, и dataversion. Как правило, этот параметр используется, если настраиваемая схема не содержит поле, которое соответствует одному из этих трех полей. Например, можно указать, что версия данных всегда имеет значение 1.0.
Значение mapping fields сопоставляет поля из вашей схемы со схемой "Сетка событий". Необходимо указать значения в разделенных пробелами парах "ключ — значение". В качестве имени ключа используйте имя поля сетки событий. В качестве значения используйте имя поля. Можно использовать имена ключей для id, topic, eventtime, subject, eventtype, и dataversion.
Чтобы создать настраиваемый раздел с помощью Azure CLI, выполните следующий действия.
При подписке на настраиваемый раздел укажите схему, которую вы хотите использовать для получения событий. Задайте значение: схема CloudEvents, схема custom event или схема "Сетка событий". Значение по умолчанию — схема "Сетка событий".
В следующем примере показана подписка на раздел службы "Сетка событий" и использование схемы "Сетка событий". Для интерфейса командной строки Azure:
Azure CLI
topicid=$(az eventgrid topic show --name demoTopic -g myResourceGroup --query id --output tsv)
az eventgrid event-subscription create \
--source-resource-id$topicid \
--name eventsub1 \
--event-delivery-schema eventgridschema \
--endpoint<endpoint_URL>
В следующем примере используется входная схема события:
Теперь вы можете отправить событие в настраиваемый раздел и просмотреть результат сопоставления. Отправьте событие в пример схемы с помощью следующего скрипта:
Эти поля содержат сопоставления из настраиваемого раздела. Поле myEventTypeField сопоставляется с полем EventType. Для полей DataVersion и Subject используются значения по умолчанию. Объект Data содержит поля исходной схемы событий.
Вторая подписка использует входную схему событий. Событие доставлено в следующем формате:
Присоединитесь к серии встреч для создания масштабируемых решений искусственного интеллекта на основе реальных вариантов использования с другими разработчиками и экспертами.