我在OS X上,并且尝试使用基于Node.js的MongoClient
连接到在Parallels VM中运行的CosmosDB仿真器。我可以连接它,但是查询失败,并显示身份验证错误。
我首先查看了this document,但是我不得不对其稍加修改以使主机连接到VM:
Microsoft.Azure.Cosmos.Emulator.exe /AllowNetworkAccess /EnableMongoDbEndpoint /Key=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==
我的连接字符串:
mongodb://vm1:C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==@vm1:10255/admin?ssl=true
在我能够连接它之后,我不知道如何使用ServerCertificateCustomValidationCallback
提供与MongoClient
等效的功能。
我收到的身份验证错误消息:
[8/31/19 12:40:54 AM] System.Private.CoreLib: Exception while executing function: Functions.datasets. System.Private.CoreLib: Result: Failure
[8/31/19 12:40:54 AM] Exception: MongoError: Authentication Failed. ConnectionId 1a87b001-e1e6-4918-9a1c-92db5719c670 ActivityId: 8c071a01-0000-0000-0000-000000000000
[8/31/19 12:40:54 AM] Stack: MongoError: Authentication Failed. ConnectionId 1a87b001-e1e6-4918-9a1c-92db5719c670 ActivityId: 8c071a01-0000-0000-0000-000000000000
[8/31/19 12:40:54 AM] at /Users/Documents/Projects/DataStore/node_modules/mongodb-core/lib/connection/pool.js:598:61
[8/31/19 12:40:54 AM] at authenticateStragglers (/Users/Documents/Projects/DataStore/node_modules/mongodb-core/lib/connection/pool.js:516:16)
[8/31/19 12:40:54 AM] at Connection.messageHandler (/Users/Documents/Projects/DataStore/node_modules/mongodb-core/lib/connection/pool.js:552:5)
[8/31/19 12:40:54 AM] at emitMessageHandler (/Users/Documents/Projects/DataStore/node_modules/mongodb-core/lib/connection/connection.js:309:10)
[8/31/19 12:40:54 AM] at TLSSocket.<anonymous> (/Users/Documents/Projects/DataStore/node_modules/mongodb-core/lib/connection/connection.js:452:17)
[8/31/19 12:40:54 AM] at TLSSocket.emit (events.js:182:13)
[8/31/19 12:40:54 AM] at addChunk (_stream_readable.js:283:12)
[8/31/19 12:40:54 AM] at readableAddChunk (_stream_readable.js:264:11)
[8/31/19 12:40:54 AM] at TLSSocket.Readable.push (_stream_readable.js:219:10)
[8/31/19 12:40:54 AM] at TLSWrap.onStreamRead (internal/stream_base_commons.js:94:17).
答案 0 :(得分:0)
我使用了这个连接字符串:
mongodb://localhost:C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==@vm1:10255/admin?ssl=true
请注意,localhost
仍用作用户名。 vm1
被指定为@
之后的机器名称。