Приводит ли пакетирование к увеличению 429 ошибок регулирования в MSGraph API
Я пытаюсь синхронизировать файлы oneDrive (метаданные и разрешения) для домена с помощью MSGraph API, используя конечные точки списка, дочерних элементов и разрешений. Я использую пакетную обработку для детей и конечных точек разрешений, отправляя 10-20 URL-адресов в однопакетных запросах одновременно для 10 пользователей.
Я получаю много 429 ошибок при этом. Хотя я также получал 429 ошибок при выполнении однократных (не пакетных) вызовов.
Согласно документации, касающейся регулирования, они просят: 1. Уменьшить количество операций на запрос. 2. Уменьшить частоту вызовов.
Итак, мой вопрос
Получает ли пакетный вызов из 10 URL-адресов, считаются ли 10 различными операциями и 10 различными вызовами?
2 ответа
Ответ лежит где-то посередине.
Несмотря на то, что в документации (на данный момент не удается найти фактическую страницу) говорится, что вы можете объединить до 20 запросов, я обнаружил, экспериментируя, что ограничение в настоящее время установлено в 15. Так что, если вы уменьшите количество вызовов в одной партии, вам будет хорошо идти.
Я не уверен, но это может также помочь ограничить пакеты для одного пользователя.
Ограничение регулирования установлено на 10000 элементов в 10 минут на ресурс пользователя, см. Этот элемент блога
Получает ли пакетный вызов из 10 URL-адресов, считаются ли 10 различными операциями и 10 различными вызовами?
Как правило, N URL будут рассматриваться как N+1 операций (даже больше). N операций из пакетных URL-адресов и одна для самого пакетного URL-адреса.
Обратите внимание на документы:
Пакетная обработка JSON позволяет оптимизировать ваше приложение путем объединения нескольких запросов в один объект JSON.
Из-за того, что несколько запросов были объединены в один запрос, серверной стороне просто нужно отправить один ответ тоже. Но базовая операция для каждого URL-адреса все еще должна быть обработана, поэтому нагрузка на стороне сервера все еще очень высока, просто может немного уменьшиться.