Почему подписки на таблицы событий Azure отправляют дубликаты событий с разными идентификаторами? - PullRequest
0 голосов
/ 19 декабря 2018

Я настроил подписку на сетку событий, чтобы инициировать вызов веб-перехвата событий в группе ресурсов при создании ресурса.

Вызов веб-перехвата успешно обработан, и я возвращаю 200. Для обслуживанияidempotency, я храню все события, которые произошли в таблице веб-хуков с идентификатором события, и проверяю любые входящие события, чтобы увидеть, существуют ли они в этой таблице.

Это проблематично для меня, потому что я получаюодно и то же событие несколько раз с разными идентификаторами.Я отправил его через средство проверки различий и подтвердил, что единственными различиями между событиями являются их eventTime и их идентификатор (но это касается одного и того же события, Microsoft.Resources.ResourceWriteSuccess в базе данных SQL).

IsЕсть ли причина, по которой Event Grid отправляет мне одно и то же событие несколько раз с разными идентификаторами?

1 Ответ

0 голосов
/ 08 августа 2019

Это способ реализации EventGrid, если вы посмотрите документацию

Если конечная точка ответит в течение 3 минут, Сетка событий попытается удалить событие из очереди повторных попыток.наилучшим образом, но дубликаты все еще могут быть получены.

Вы можете использовать внутренний код для очистки журналов и сохраненных данных, используя идентификаторы событий и сообщений для идентификации дубликатов.

...