#azure #microsoft-graph-api #office365 #onedrive
#azure #microsoft-graph-api #office365 #onedrive
Вопрос:
Я пытаюсь загрузить небольшой элемент (размером менее 4 МБ) в OneDrive. Несколько дней назад он работал отлично, но теперь я постоянно вижу ошибку 504.
Я использую Graph API и пакетную обработку JSON для загрузки в OneDrive. Тот же код работает с другими клиентами, но для этого конкретного клиента не выполняется последние 4/5 дней.
Обратите внимание, что загрузка элементов и загрузка больших элементов (размером более 4 МБ) работают отлично.
Пожалуйста, дайте мне знать, если у кого-нибудь есть какие-либо идеи по поводу этой проблемы.
Ответ об ошибке, который я получаю ниже:
{"responses": [
{
"id": "1",
"status":504,
"headers" : {
"Content-Type":"application/json"},
"body":"ew0KICAiZXJyb3IiOiB7DQogICAgImNvZGUiOiAiVW5r
bm93bkVycm9yIiwNCiAgICAibWVzc2FnZSI6ICIiLA0KICAgICJp
bm5lckVycm9yIjogew0KICAgICAgImRhdGUiOiAiMjAyMC0xMi0
yOFQxMDo1NDo1NyIsDQogICAgICAicmVxdWVzdC1pZCI6ICJjMmYzYWFmNi1lZj
EyLTRhZTMtOWUwYy0yMTI5ZTJhZTg4ZDEiLA0KICAgICAgImNsa
WVudC1yZXF1ZXN0LWlkIjogImMyZjNhYWY2LWVmMTItNGFlMy0
5ZTBjLTIxMjllMmFlODhkMSINCiAgICB9DQogIH0NCn0="},
{
"id": "2","status":424,
"body":{
"error": {
"code": "FailedDependency",
"message": "Request failed as dependent request failed",
"innerError": {
"date": "2020-12-28T10:54:57",
"request-id": "c2f3aaf6-ef12-4ae3-9e0c-2129e2ae88d1",
"client-request-id": "c2f3aaf6-ef12-4ae3-9e0c-2129e2ae88d1"
}
}
Я отправляю запрос после кодирования тела в формат Base 64. Текст Base 64 в приведенном выше ответе переводится следующим образом:
{
"error": {
"code": "UnknownError",
"message": "",
"innerError": {
"date": "2020-12-28T10:54:57",
"request-id": "c2f3aaf6-ef12-4ae3-9e0c-2129e2ae88d1",
"client-request-id": "c2f3aaf6-ef12-4ae3-9e0c-2129e2ae88d1"
}
}
}
Комментарии:
1. Если вы получаете ошибки 503 или 504, есть вероятность, что вы регулируете из-за высокой нагрузки: docs.microsoft.com/en-us/graph/errors . ошибки 503 и 504 не упоминаются в руководстве по регулированию MS: docs.microsoft.com/en-us/graph/throttling , поскольку они не являются прямой виной клиента. Однако применение тех же принципов, что и в руководстве, таких как политика повторных попыток или предотвращение пиков запросов, поможет вам справиться с этими ошибками. При этом, это между Рождеством и Новым годом, поэтому это также может быть проблемой, связанной с обслуживанием.
2. Я попробовал повторить попытку, и это не помогло. Если это проблема с обслуживанием, мне интересно, как пользователи на местах сталкиваются с этим и какой обходной путь они используют.
3. Хорошо, вы используете пакетную обработку JSON и видите ошибку. Если вы использовали два разных вызова, выясните, какой вызов приводит к этому. Протестируйте то же самое с Graph Explorer или POSTMAN, изолируйте проблему и попытайтесь ее устранить. Я знаю, что 503/504 являются связанными серверами, но имейте в виду, что вы должны использовать пакетную обработку JSON и не нарушать ее ограничения, как описано в документации, из-за этого вы можете видеть эту ошибку.