Я обновил эмулятор Azure Cosmos DB с версии 1.22 до 2.0 , Теперь, когда я перехожу в локальный обозреватель данных, на вкладке проводника ничего не загружается, и я вижу ошибку

Не удалось получить заголовки авторизации для предложений: {"readyState": 4, "responseText": "{\" code \ ": \" InternalServerError \ ", \" message \ ": \" При обработке этого запроса произошла неизвестная ошибка сервера. \ r \ nActivityId: 48afdb03-e04b-4a5e-b568-e268c32eb10f, Microsoft.Azure.Documents.Common / 2.0.0.0 \ "}", "responseJSON": {"code": "InternalServerError", "message": "Неизвестно Ошибка сервера при обработке этого запроса. \ r \ nActivityId: 48afdb03-e04b-4a5e-b568-e268c32eb10f, Microsoft.Azure.Documents.Common / 2.0.0.0 "}," status ": 500," statusText ":" error " }

Я попытался переустановить его, перезагрузить компьютер и запустить от имени администратора.

Что я могу сделать, чтобы это исправить?

9
Scotty H 8 Окт 2018 в 22:20

2 ответа

Лучший ответ

Похоже, что эмулятор CosmosDB 2.0.0 требует, чтобы вы сбросили данные, которые в нем. Это единственное, что исправило это для меня.

Вы можете сделать это с помощью значка эмулятора CosmosDB

enter image description here

После сброса все заработает. Также имейте в виду, что SDK до версии 2.0 не будут работать с новым эмулятором.

9
Nick Chapsas 8 Окт 2018 в 19:29

В моем случае мне пришлось удалить / переустановить эмулятор (вы можете скачать его с https://aka.ms/ cosmosdb-emulator), затем после перезагрузки я сделал "Сбросить данные ..." в контекстном меню эмулятора (как описано Ником), после чего он снова заработал.

В моем случае только сброс данных не помог.

Я нашел следующий способ заставить его снова работать (версия эмулятора 2.1.4.0 в Windows 10 Enterprise - сборка 1803):

  1. Запустите эмулятор, чтобы на панели задач появился значок. Подождите, пока не появится сообщение «Эмулятор запущен». После запуска проверьте, работает ли проводник эмулятора. Если он зависает (постоянно отображается анимация из трех точек), перейдите к шагу 2.
  2. Сброс данных: с помощью системного лотка, щелкните правой кнопкой мыши, контекстное меню выберите «Сбросить данные ...». Подождите, пока не загрузится эмулятор («Эмулятор запущен»). Продолжайте с шага 3.
  3. Завершение работы эмулятора: в системном трее щелкните правой кнопкой мыши, контекстное меню и выберите «Выход».
  4. Перезагрузите компьютер
  5. После перезагрузки запустите эмулятор (перейдите к 1.). Теперь проводник эмулятора должен работать (вы можете создать коллекцию через «Новая коллекция», чтобы проверить ее).

< Сильного > Примечание :

  • «Сбросить данные ...» удаляет локальную папку эмулятора Cosmos DB, затем останавливает и перезапускает службу эмулятора.

  • кажется важным запустить его до того, как вы начнете какое-либо соединение VPN (например, VPN фирмы) - эмулятор зависит от API RegisteredIO в дополнение к обычным Winsockets, поэтому могут возникнуть нежелательные побочные эффекты со сторонним программным обеспечением.

  • если вы запускаете эмулятор на ноутбуке, рекомендуется остановить его до того, как компьютер перейдет в режим сна / гибернации. Это необходимо для обеспечения согласованности данных эмулятора и предотвращения частого сброса их значений.

  • Начиная с версии 2.2.1, есть новый параметр командной строки /disablerio, который переключает эмулятор на работу с обычными API Winsockets. Если у вас возникнут проблемы с VPN или сторонним программным обеспечением, вы можете попробовать этот переключатель. В командной строке (оболочка администратора) введите:
    cd /d "%ProgramFiles%\Azure Cosmos DB Emulator"
    CosmosDB.Emulator.exe /disablerio

  • если у вас возникнут проблемы с подключением, проверьте SSL-сертификаты эмулятора CosmosDB.


Некоторые подробности об эмуляторе

Это каталог, который использует эмулятор:

C: \ Users \ [идентификатор пользователя] \ AppData \ Local \ CosmosDBEmulator

Само приложение можно найти здесь:

C: \ Program Files \ Эмулятор Azure Cosmos DB \ Microsoft.Azure.Cosmos.Emulator.exe

Хотя у самого эмулятора не так много параметров конфигурации, в указанном выше каталоге есть 3 файла конфигурации: ComputeMachine.Config, Machine.Config и GatewayMachine.Config.

Команда CosmosDB может помочь, если вы включите журнал трассировки. Сделайте следующее:

Чтобы собрать следы отладки , выполните следующие команды из административной командной строки:

  1. cd /d "%ProgramFiles%\Azure Cosmos DB Emulator"
  2. CosmosDB.Emulator.exe /shutdown . Следите за панелью задач, чтобы убедиться, что программа закрылась, это может занять минуту. Вы также можете просто нажать «Выход» в пользовательском интерфейсе эмулятора Azure Cosmos DB.
  3. CosmosDB.Emulator.exe /starttraces
  4. CosmosDB.Emulator.exe
  5. Воспроизведите проблему. Если Data Explorer не работает, вам нужно только подождать, пока браузер откроется в течение нескольких секунд, чтобы обнаружить ошибку.
  6. CosmosDB.Emulator.exe /stoptraces
  7. Перейдите к %ProgramFiles%\Azure Cosmos DB Emulator и найдите файл docdbemulator_000001.etl.
  8. Отправьте файл .etl вместе с шагами воспроизведения в askcosmosdb@microsoft.com для отладки.

Обновление: я получил ответ от команды разработчиков CosmosDB, который я включил в этот ответ. Пожалуйста, дайте мне знать через комментарии под этим ответом, если вы что-то узнали. Отмечу, что обычно этот инструмент, который я очень часто использую для разработки решений CosmosDB, работает нормально.

3
Matt 12 Мар 2019 в 14:05