当前位置: 首页 > 知识库问答 >
问题:

未能连接到本地azure cosmosdb模拟器

曾山
2023-03-14

我在我的Win10计算机上安装了Azure CosmosDB模拟器,并且我有启动页面的可见性:

但当我尝试通过Robo3T或命令行连接到数据库时,它不起作用。我使用以下命令:

mongo mongodb://localhost:foofoojf5%2FR%2Bob0N8A7Cgv30VRDJIWEHLM%2B4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw%2FJw%3D%3D@localhost:10255/admin?ssl=true

我得到了以下问题:

2019-07-18T14:33:27.265 0200 W NETWORK[thread1] 5000ms毫秒后连接127.0.0.1:10255失败,放弃。2019-07-18T14:33:27.266 0200 E QUERY[thread1]错误:无法连接到服务器localhost:10255,连接尝试失败:connect@src /mongo/shell/mongo.js:237: 13@(连接): 1:6异常:连接失败

它是本地的,所以我假设没有端口问题。是否有可能与本地证书或我的公司防火墙相关?

共有2个答案

桂志诚
2023-03-14

在我的例子中,要与Azure CosmosDb API for MongoDb交互,我们需要在%localappdata%\CosmosDbEmulator下创建一个专用的新文件夹并启用MongoDbendpointv3.6(请参阅下面步骤1中的PowerShell命令)。

注意:由于任何原因,如果CosmosDb emulator重置为默认文件夹路径%localappdata%\CosmosDbEmulator(或)无法在Robo 3T中连接,则始终再次执行步骤1中的以下PowerShell脚本。

注意:从Robo 3T v1.4开始,我们在连接设置对话框中没有SSL标签。相反,我们有一个标签TLS。

1. Download and install Azure CosmosDb Emulator from https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator?tabs=powershell%2Cssl-netstd21
2. Download and install Robo 3T (1.4.2 or latest) from https://robomongo.org/download
3. To show Azure CosmosDb emulator related database(s) in Robo 3T client app

Step 1
- Launch Azure CosmosDb Emulator 
  (Optional: Just to check CosmosDbEmulator is started successfully)
- Open Powershell as administrator and execute below commands
  # PowerShell Script
  # Change directory to default location where CosmosDb emulator is installed.
  cd\
  cd '.\Program Files\Azure Cosmos DB Emulator\'
             
  # [Optional] If any cosmosDb emulator instance is running then shutdown
  .\Microsoft.Azure.Cosmos.Emulator.exe /shutdown
        
  # To interact Azure CosmosDb API for MongoDb, create a new folder "<MongoDb>" under 
  # %localappdata%\CosmosDbEmulator and enable MongoDb endpoint v3.6
  .\Microsoft.Azure.Cosmos.Emulator.exe /DataPath="$env:localappdata\CosmosDBEmulator\MongoDb" /EnableMongoDbEndpoint=3.6
Step 2      
- Now CosmosDb emulator will be successfully started,
  and launches the URL https://localhost:8081/_explorer/index.html in the browser
- Note down MongoDb connection string details from browser which will be required 
  while creating new Robo 3T connection. The default MongoDb connection string format is 
  mongodb://username:password@host:port/[database]?ssl=true
    - Username: localhost
    - Password (Primary Key): C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==
    - Port: 10255
    - Database: admin
    
Step 3
- Launch Robo 3T
- Click on Create new connection 
- In "Connection" tab
    - Provide Name of the connection as "<CosmosDbEmulator>"
    - Add port number as 10255
        
- In "Authentication" tab provide details noted down in previous Step 2
    - Check "Perform authentication"
    - Add Database as "admin"
    - Add Username as "https://localhost:8081"
    - Add Password as "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="
        
- In "TLS" tab provide
    - Check "Use TLS protocol"
    - From Authentication Method dropdown select "Self-signed Certificate"
        
- Click on "Test" button. 
    - It should successfully connects to localhost:10255 via TLS tunnel
    - It should successfully authorise to database "admin"
    
- Click on "Save" button    
- Click on "Connect" button. 
    - It will show the admin database and its related collections.
阴永福
2023-03-14

我用ROBO3T工具连接了mongo模拟器,请看我的配置。

首先,从此链接获取仿真器连接字符串。

mongodb://localhost:C2y6yDjf5/R ob0N8A7Cgv30VRDJIWEHLM 4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==@localhost:10255/admin?ssl=true

然后创建连接配置:

连接:

认证:

SSL:

单击测试按钮:

用户界面:

 类似资料:
  • 我有一个节点。尝试连接到mongodb的js服务器(使用mongoose): 尽管mongodb已启动并运行,但连接失败。 我得到以下日志: 7月18日星期四13:24:50.124[initandlisten]选项:{dbpath:“/home/pi/mongodb/”} Thu Jul 18 13:24:50.166[initandlisten]正在等待端口27017上的连接 Thu Jul

  • 我试图在Android上模拟我的Ionic应用程序。一旦我的应用程序在仿真设备中启动,它就会中断,出现以下错误: 应用程序错误 网络::错误连接被拒绝(http://localhost:8100) 而且 在浏览器和iOS调试器中调试同一个项目就像一个符咒。 cordova插件白名单已经安装,我的配置中有以下规则。xml 任何帮助都将不胜感激。

  • 问题内容: 由于wamp服务器,我试图将我的android应用程序连接到本地主机url,但它不起作用。我的目标是获取json数据并解析这些数据。对于我的测试,我使用的是设备而不是模拟器,并且使用AndroidManifest.xml中的权限: 我的网址看起来像这样: 我试过了 : 但是到目前为止,它从未起作用: 然后我尝试了在互联网上找到的json url测试:http : //headers.j

  • 我试图连接到一个名为的数据库。所有凭据都位于PHP文件名中,格式为 我正试图用这个连接到数据库 我得到这个错误: 注意:第6行的未定义变量:DB_HOST in/home/content/06/8274306/html/beta/mysuperscript.php 注意:未定义变量:第6行 /home/content/06/8274306/html/beta/mysuperscript.phpDB

  • 我目前正在做一个小项目,我需要将kafka集群连接到mongodb,以便将发布到kafka主题的消息存储在mongodb数据库中。我目前有一个本地kafka集群,一个sping引导生产者向一个主题发布消息,一个spinger引导消费者在本地使用这些消息。我也在本地安装了mongob指南针……我一直在看教程,我发现我必须使用某种接收器连接器(mongob连接器)来做我想做的事情,但大多数示例都是基于