我们有办法从远程系统连接文档dB模拟器吗?
我们可以在文档db emulator中创建过程,触发器,用户定义的函数等吗?
答案 0 :(得分:0)
模拟器适用于本地开发方案,因为它运行公开本地端口,您可能(从未尝试过,这纯粹是理论上的)围绕防火墙工作并公开它,然后使用您的外部IP连接另一个系统暴露的港口。
您还必须解决local SSL certificate(这可能是最大的问题),尽管您可以尝试使用TCP连接设置,但可能需要检查this thread需要哪些端口打开。
此外,模拟器没有实时服务所具有的整个功能集:
因此,您最好通过installer或Chocolatey在其他系统上安装模拟器,并避免出现所有问题。
答案 1 :(得分:0)
更新:我的以下尝试解决方案无效。使用Node.js DocumentDB sdk Connection Timeout
,192.168.0.101:8881。我认为因为SSL。 :/抱歉。留下"答案" 以获取有关什么不起作用的文档,以及是否有人知道如何绕过DocumentDB Emulator SSL。
我正在尝试通过本地网络连接DocumentDB Emulator。 (我开发虚拟机)
我正在尝试将端口转发到DocumentDB Emulator侦听的8081本地端口。在Command Prompt (Run as Administrator)
netsh interface portproxy add v4tov4 listenaddress=192.168.0.101 listenport=8080 connectport=8081 connectaddress=127.0.0.1
192.168.0.101是PC的网络地址。
现在我可以导航到:
https://192.168.0.101:8080/_explorer/index.html
并查看数据资源管理器。乐观我可以在开启关闭SSL的情况下使用它吗?
还尝试使用node.js http-proxy
无法使用自签名证书。 :(
更新,我实际上http-proxy
正常工作,但只有按特定顺序启动服务器才有效...
secure: true
secure: false
;重新启动; 要在Windows上运行的Node.js代理示例:
```
var fs = require('fs'),
httpProxy = require('http-proxy');
//
// Create the proxy server listening on port 443
//
httpProxy.createServer({
ssl: {
key: fs.readFileSync('valid-ssl-key.pem', 'utf8'),
cert: fs.readFileSync('valid-ssl-cert.pem', 'utf8')
},
target: 'https://localhost:8081',
secure: true // Depends on your needs, could be false.
}).listen(8881);
```
答案 2 :(得分:0)
您只需要使用其他参数启动documentdb:
start "" "c:\Program Files\Azure Cosmos DB Emulator\CosmosDB.Emulator.exe" /AllowNetworkAccess /NoFirewall /Key=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==
检查documentdb docker文件以获取更多详细信息:https://github.com/Azure/azure-cosmos-db-emulator-docker/blob/master/package_scripts/startemu.cmd