Cosmos DB Emulator: не удалось получить заголовки авторизации для предложений - PullRequest
0 голосов
/ 08 октября 2018

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

Не удалось получить заголовки авторизации для предложений: {"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 "}

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

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

Ответы [ 2 ]

0 голосов
/ 28 января 2019

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

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

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

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

Примечания:

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

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

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

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

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


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

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

C: \ Users \ [userid] \ AppData \ Local \ CosmosDBEmulator

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

C: \ Program Files \ Azure Cosmos DB Emulator \ 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 file.
  8. Отправьте файл .etl вместе с шагами воспроизведения для askcosmosdb@microsoft.com для отладки.

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

0 голосов
/ 08 октября 2018

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

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

enter image description here

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

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