В чем разница между startDate и фильтром по опубликованным в Okta Events API?

Я написал приложение .NET, используя SDK Okta.Core.Client 0.2.9, чтобы извлекать события из системного журнала нашей организации для импорта в другую систему. Мы запускаем его каждые 5 минут, извлекая события, опубликованные с момента последнего события, полученного при предыдущем запуске.

Мы наблюдаем задержки в некоторых событиях. Если я выполняю ручной запуск в начале часа для данных за предыдущий час, он будет включать больше строк, чем 5-минутные запуски. Пытаясь понять, почему я вспомнил параметр startDate, взаимоисключающий параметр filter, который я использовал.

В документах об этом мало говорится — просто что он «указывает отметку времени для списка событий после». Это работает так же, как published gt "some-date"? Мы собираем данные за отрезки времени, поэтому мне нужно было включить фильтр «меньше чем» и проигнорировать startDate. Но отложенные события заставляют меня искать обходной путь.


person T. Leonard    schedule 05.07.2016    source источник


Ответы (1)


Вы сталкиваетесь с задержкой результатов, используя startDate или фильтр?

Да, опубликованные gt "some-date" и startDate работают одинаково. Следующие два вызова API.

/api/v1/events?limit=100&startDate=2016-07-06T00:00:00.000Z

и

/api/v1/events?limit=100&filter=published gt "2016-07-06T00:00:00.000Z"

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

person Sohaib Ajmal    schedule 06.07.2016
comment
Спасибо! Мы использовали filter, так как 5-минутный подход означал запрос во время или после времени X, до времени Y, чтобы startDate не сократилось. Я предполагаю, однако, что Okta обрабатывает и сопоставляет журналы событий, что означает, что нам нужно будет подождать не менее часа, чтобы убедиться, что у нас все есть. - person T. Leonard; 08.07.2016