我将Azure Cosmos DB Emulator从1.22版升级到了2.0版。现在,当我转到local Data 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”},“状态”:500,“状态文本”: “错误”}
我尝试重新安装它,重新启动PC并以管理员身份运行它。
该如何解决?
答案 0 :(得分:7)
看起来2.0.0 CosmosDB Emulator需要您重置其中的数据。那是唯一为我修复的东西。
您可以通过CosmosDB仿真器图标完成此操作
重置后,它将起作用。另外请记住,新的仿真器将无法使用2.0版之前的SDK。
答案 1 :(得分:0)
就我而言,我必须卸载/重新安装仿真器(可以从https://aka.ms/cosmosdb-emulator下载),然后在重新启动后,我在仿真器的上下文菜单中执行了“重置数据...”(如所述)由尼克(Nick)制作,此后又重新工作了。
仅重置数据并不能解决我的问题。
我找到了以下使它再次运行的方法(Windows 10 Enterprise上的仿真器版本2.1.4.0-Build 1803):
注释:
“重置数据...”删除本地Cosmos DB仿真器文件夹,然后停止并重新启动仿真器服务。
在启动任何VPN连接(例如,公司的VPN)之前启动它似乎很重要-仿真器除了常规的Winsockets之外,还依赖于RegisteredIO API,因此第三者软件可能会有不良影响
如果在笔记本电脑上运行模拟器,建议您在计算机进入睡眠/休眠模式之前将其停止。这是为了确保模拟器的数据保持一致,并防止您经常对其进行重置。
从2.2.1版开始,有一个新的命令行选项/disablerio
,它将切换模拟器以使其与常规Winsockets API一起使用。如果您在使用VPN或第三方软件时遇到任何问题,可以尝试进行此切换。在命令提示符(管理员外壳)中,键入:
cd /d "%ProgramFiles%\Azure Cosmos DB Emulator"
CosmosDB.Emulator.exe /disablerio
如果遇到连接问题,请检查CosmosDB emulator's SSL certificates。
有关模拟器的一些详细信息
这是模拟器使用的目录:
C:\ Users \ [用户ID] \ AppData \ Local \ CosmosDBEmulator
应用程序本身可以在这里找到:
C:\ Program Files \ Azure Cosmos DB Emulator \ Microsoft.Azure.Cosmos.Emulator.exe
虽然仿真器本身没有很多配置选项,但上面提到的目录中有3个配置文件:ComputeMachine.Config
,Machine.Config
和GatewayMachine.Config
。
如果您启用跟踪日志,则CosmosDB团队可以提供帮助。请执行以下操作:
要收集调试跟踪,请从管理命令提示符处运行以下命令:
cd /d "%ProgramFiles%\Azure Cosmos DB Emulator"
CosmosDB.Emulator.exe /shutdown
。观察系统托盘以确保程序已关闭,这可能需要一分钟。您还可以仅在Azure Cosmos DB仿真器用户界面中单击“退出”。CosmosDB.Emulator.exe /starttraces
CosmosDB.Emulator.exe
CosmosDB.Emulator.exe /stoptraces
%ProgramFiles%\Azure Cosmos DB Emulator
并找到docdbemulator_000001.etl
文件。.etl
文件和复制步骤发送到askcosmosdb@microsoft.com
进行调试。更新:我得到了CosmosDB开发团队的答复,我已将其包含在此答案中。如果您发现了问题,也请通过此答案下方的评论让我知道。让我注意到,通常我经常使用该工具来开发CosmosDB解决方案的工具可以正常工作。