В принципе, в модели паб / подпрограмма Azure Event Grid для событий доставки в многопользовательской среде поддерживаются два способа, такие как:
- Тесно связанная доставка сообщений о событиях на ресурс абонента на основе RBAC .На ресурсе подписчика (получателя) вы можете
- добавить встроенное назначение роли, например EventGrid EventSubscription Contributor для пользователя Azure AD и т. Д.
- или добавить со-administrator на уровне подписки Azure
В следующем фрагменте экрана показан пример случая, когда я являюсь одним из администраторов двух подписок Azure, таких как Stage и Разработка .
Создание подписки на событие для темы хранилища BLOB-объектов, управляемых событиями, в поставщике AEG в учетной записи Azure Stage и доставка его уведомлений через границу учетной записи Azure подписчику, например в концентратор событий, расположенныйв учетной записи Azure Development это просто:
Слабая развязка доставки сообщений о событиях подписчикам через мультитенантную границу на основе конечной точки обработчика событий WebHook.Для интеграции Pub / Sub через границу арендатора может использоваться функция EventGridTrigger с выходной привязкой к ресурсу Event Hub.В следующем фрагменте экрана показан этот пример:
Приведенное выше решение очень простое, с возможностью передачи (предварительной обработки) сообщения о событии в событие.Ресурс концентратора.
В случае рассылки событий другим подписчикам и т. Д. С использованием шаблона разветвления сетки событий Azure могут быть каскадными, как показано в следующем фрагменте экрана:
В приведенном выше решении у каждого арендатора есть собственный поставщик сетки событий Azure, и они каскадируются через конечную точку обработчика событий WebHook и конечную точку настраиваемой темы.Более подробную информацию о каскадной реализации AEG можно найти здесь .