504
, скорее всего, вызвано размером вашей страницы.1000
- это размер страницы огромного размера, и, скорее всего, время запроса истекает при попытке получить столько писем за раз (особенно, если сами письма большие).
Microsoft Graph - это API-аггрегатор, который, под прикрытием, передает каждый входящий запрос одному или нескольким базовым API.В этом случае он передает запрос в API Exchange / Outlook.
При размере страницы 1000
Graph необходимо подождать, пока Exchange создаст ответ с 1000 электронными письмами и передать его обратно в Graph для окончательной обработки (Graph переписывает, фильтрует и объединяет ответы API, чтобы вы моглиполучить последовательную OData обратно, независимо от конечных точек, которые вы ударили).Исключение 504 - Gateway timeout
означает, что тайм-аут графика истек до того, как основная рабочая нагрузка сможет вернуть результат.
Использование меньшего размера страницы (довольно типичное значение 100-300) должно гарантировать, что основная рабочая нагрузка может ответить до истечения времени ожидания.Некоторые люди пытались урезать 100 обратно за раз, пока они не были устранены, но я бы не рекомендовал эту методологию, поскольку это неизбежно означает, что вы не решили проблему, а только представили более редкие условия гонки.