Подписка Microsoft Graph Webhooks на / users - в текущем формате недоступна - PullRequest
0 голосов
/ 06 мая 2018

Так что, побывав в Ignite в 2017 году, я был действительно взволнован новыми возможностями Webhooks в Microsoft Graph и привязкой к функциям Azure.

Недавно у меня появилась возможность по-настоящему исследовать это для себя. Я смотрю на это с точки зрения Identity Management - я действительно хочу увидеть, к какому типу управления адаптацией и изменениями пользователей мы можем реагировать и обрабатывать функции Graph Webhooks и Azure. Поэтому я начал изучать конечную точку бета-тестирования и веб-хуки, доступные для "/ users"

Первое, что меня поразило, это то, что в бете только «обновленный» или «удаленный» является допустимым типом изменений. Я действительно хотел бы «создал» - поскольку именно тогда большая часть работы будет выполнена для пользователя (например, создание некоторых уникальных значений атрибутов)

Хорошо, я подумал и просто попытался посмотреть на "/ users" и только changetype = "updated". Я создал подписку и базовую функцию Azure для обработки запросов. Обновил пользователя в Azure AD (только что изменил атрибут «Фамилия») и, конечно же, триггер был отправлен в мою функцию Azure

Теперь возникают мои самые большие проблемы - это действительно непригодно в нынешнем виде.

  1. кажется, что он реагирует на все изменения / пользователей, и я думаю, что ответ триггера может содержать несколько пользователей. Действительно, было бы предпочтительнее получать отдельные триггеры для каждого объекта, измененного в / users, даже если они были изменены одновременно

  2. Глядя на актуальную информацию, высланную здесь, лежит БОЛЬШАЯ проблема. Я получил идентификатор пользователя изменен (хорошо, но также ожидается) Я получаю идентификатор организации (хорошо ..) Я получаю eventTime (хорошо) Я получаю sequenceNumber (не уверен, что это?) Я получаю subscriptionExpirationDateTime (хорошо, хорошо, чтобы иметь) Я получаю подпискуId для webhook (хорошо, хорошо, чтобы иметь)

... но ГДЕ информация о том, какие данные были изменены ??? Нигде не найти, какие атрибуты пользователя были изменены (в моем случае «Фамилия»). Это делает триггеры совершенно непригодными для "/ users", и я не могу думать о ком-либо, кто мог бы использовать эту функцию как есть? Конечно, я знаю, что объект был изменен, но я понятия не имею, ЧТО произошло, и было ли изменение связано с моей функцией

Скажите, пожалуйста, есть ли планы включить фактические изменения в ответ триггера?

РЕДАКТИРОВАТЬ: хорошо, верно, да, это больше запрос функции от реальных разработчиков MS Graph - будет искать лучшее место, чтобы получить этот ответ

1 Ответ

0 голосов
/ 09 мая 2018

Пожалуйста, предоставьте запросы функций здесь (например: больше данных в уведомлениях, «созданный» тип изменения): https://officespdev.uservoice.com/forums/224641-feature-requests-and-feedback?category_id=101632

Вот ответы на другие вопросы.

  1. График Microsoft не гарантирует упорядочение событий при отправке уведомлений (например, ваша конечная точка webhook может быть недоступна, и мы будем повторять события с задержкой до 4 часов или сбрасывать, если сбой длится дольше 4 часов). Следовательно, «SequenceNumber» может использоваться для отслеживания того, находится ли событие в порядке и, следовательно, используется как есть, или если оно не в порядке и нуждается в запросе к Graph для получения текущего состояния.
  2. В настоящее время мы предоставляем идентификаторы объектов и ассоциаций (член, менеджер), которые изменились, независимо от того, был ли удален или обновлен объект / ассоциации, но не детали других свойств, которые были изменены. В своем текущем виде webhook лучше всего использовать с дельта-запросом. Вместо того, чтобы опрашивать дельта-запрос каждые X минут и в большинстве случаев получать нулевые изменения, разработчики могут создать подписку и выполнять дельта-запрос только при получении уведомления. Это помогло бы масштабироваться в случае, если есть много арендаторов, которые должны быть опрошены.

Delta Query: https://developer.microsoft.com/en-us/graph/docs/concepts/delta_query_overview

Кроме того, к вашему сведению, веб-крюковые уведомления для пользователя / группы теперь также доступны в V1.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...