Прерывистое соединение прерывается с помощью MS Graph API для Sharepoint - PullRequest
1 голос
/ 19 февраля 2020

С 06.02.2020 в нашем интерфейсе с клиентом Sharepoint (с использованием MSGraph API) происходят прерывистые потери соединения при попытке загрузить файл с использованием @microsoft.graph.downloadUrl.

Наше приложение отправляет HTTP-запрос GET (используя MSXML2.ServerXMLHTTP.6.0) на указанный URL-адрес. Затем через определенное время выдается ошибка с описанием «Соединение с сервером было прервано ненормально». Нет кода состояния, нет содержимого ответа.

Это также происходит с использованием любого браузера (путем копирования downloadUrl в адресную строку и нажатия Enter). Chrome, при загрузке файла (скажем, URL-адрес указывает на файл .jpg), появится сообщение «Failed - Network error».

Ошибка может быть воспроизведена (ЕСЛИ это глобальная проблема) с помощью Сверните этот пакетный скрипт.

@echo off

FOR /L %%A IN (1,1,%1) DO (
    echo.
    echo Attempt: %%A%

    rem Writing output into a file, extension is not really important.
    curl --output "output.jpg" %2
)

Который можно назвать как test.bat <no of tries> "<@microsoft.graph.downloadUrl>". Добавлен лог здесь , попытки 13, 15 и 18. выдают ошибку.

Я не совсем уверен, что здесь может происходить. Я исследовал сообщение об ошибке, и в основном происходит то, что сокет неожиданно просто теряется. Я подумал, может быть, есть квота, которую мы выполняем с нашими запросами, но в этих случаях MSGraph возвращает правильное сообщение об ошибке, и нет фонового приложения, бомбардирующего MSGraph с использованием этих ссылок. Ссылки используются, чтобы показать предварительный просмотр PDF в окне браузера, например.

Есть идеи, что может быть не так или где я могу go за помощью?

Ответы [ 3 ]

4 голосов
/ 27 февраля 2020

Мы считаем, что мы нашли причину root этой проблемы - могут ли все те, кто ее наблюдал, сообщить нам, если все выглядит лучше?

2 голосов
/ 21 февраля 2020

Извиняюсь за использование поля ответа, но у меня только 35 репутации, поэтому я не могу добавить комментарий и хочу добавить наш опыт в случае, если это влияет на других.

У нас возникла та же проблема, которая началась примерно в тот же день, что упоминается ФП. Мы использовали один и тот же код около 2 с половиной лет, и он никогда не пропускал ритм, но теперь у пользователей возникают проблемы при загрузке отчетов. Эти отчеты загружают несколько файлов PDF через MSGraph API, а затем объединяют их в один файл PDF. Что я заметил, так это то, что в конкретном отчете всего несколько файлов PDF, это нормально. Если я отлаживаю сеанс и перебираю файлы в более медленном темпе (ie я считаю до 3 после каждого), это нормально. Также пользователи могут иногда обойти это, пытаясь снова, и, возможно, с 4-й или 5-й попытки это может сработать.

Как и OP, я думал, что мы нажимаем квоту, но ошибка заключается в том, что «существующее соединение было принудительно закрыто "удаленным хостом", а не "кодом состояния HTTP 429 (слишком много запросов)".

1 голос
/ 23 февраля 2020

Sharepoint обычно возвращает правильный код ошибки 429 или 503, когда происходит дросселирование. Отбрасывающий сокет обычно находит путь к коду, который имеет некоторые проблемы. Вы можете рассмотреть возможность подачи заявки в службу поддержки. Существует вероятность того, что кто-то сможет взглянуть на указанную проблему c. Я попытался воспроизвести, повторив загрузку. Но я не в состоянии. Таким образом, ошибка может воспроизводиться с указанным условием c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...