Azure cosmosdb DocumentDB模拟器远程连接

Azure cosmosdb DocumentDB模拟器远程连接,azure-cosmosdb,Azure Cosmosdb,我们有办法从远程系统连接document dB emulator吗 我们可以在document db emulator中创建过程、触发器、用户定义函数等吗?该模拟器适用于本地开发场景,因为它运行时暴露了本地端口,所以您可能(从未尝试过,这纯粹是理论上的)绕过防火墙并暴露它,然后使用外部IP和公开端口从另一个系统连接 还有一个您必须解决的问题(这可能是最大的问题),尽管您可以尝试使用TCP连接设置,但可能需要检查哪些端口需要打开 此外,Emulator没有live服务所具有的全部功能集: Doc

我们有办法从远程系统连接document dB emulator吗


我们可以在document db emulator中创建过程、触发器、用户定义函数等吗?

该模拟器适用于本地开发场景,因为它运行时暴露了本地端口,所以您可能(从未尝试过,这纯粹是理论上的)绕过防火墙并暴露它,然后使用外部IP和公开端口从另一个系统连接

还有一个您必须解决的问题(这可能是最大的问题),尽管您可以尝试使用TCP连接设置,但可能需要检查哪些端口需要打开

此外,Emulator没有live服务所具有的全部功能集:

  • DocumentDB Emulator仅支持单个固定帐户和众所周知的主密钥。无法在DocumentDB Emulator中重新生成密钥
  • DocumentDB Emulator不是可扩展的服务,不支持大量集合
  • DocumentDB Emulator不会模拟不同的DocumentDB一致性级别
  • DocumentDB Emulator不模拟多区域复制
  • DocumentDB Emulator不支持Azure DocumentDB服务中可用的服务配额覆盖(例如,文档大小限制、增加的分区集合存储)
  • 由于DocumentDB Emulator的副本可能与Azure DocumentDB服务的最新更改不符,请DocumentDB capacity planner准确估计应用程序的生产吞吐量(RUs)需求

因此,您最好通过or在另一个系统上安装仿真器,并避免所有问题。

仿真器适用于本地开发场景,因为它运行时暴露了本地端口,您可能(从未尝试过,这纯粹是理论上的)绕过防火墙并暴露它,然后使用外部IP和公开端口从另一个系统连接

还有一个您必须解决的问题(这可能是最大的问题),尽管您可以尝试使用TCP连接设置,但可能需要检查哪些端口需要打开

此外,Emulator没有live服务所具有的全部功能集:

  • DocumentDB Emulator仅支持单个固定帐户和众所周知的主密钥。无法在DocumentDB Emulator中重新生成密钥
  • DocumentDB Emulator不是可扩展的服务,不支持大量集合
  • DocumentDB Emulator不会模拟不同的DocumentDB一致性级别
  • DocumentDB Emulator不模拟多区域复制
  • DocumentDB Emulator不支持Azure DocumentDB服务中可用的服务配额覆盖(例如,文档大小限制、增加的分区集合存储)
  • 由于DocumentDB Emulator的副本可能与Azure DocumentDB服务的最新更改不符,请DocumentDB capacity planner准确估计应用程序的生产吞吐量(RUs)需求

因此,您最好通过or在其他系统上安装emulator,避免所有问题。

更新:我尝试的以下解决方案不起作用<代码>连接超时,192.168.0.101:8881使用Node.js DocumentDB sdk。我想是因为SSL。:/很抱歉将这个“答案”留给关于什么不起作用的文档,以及是否有人知道如何绕过DocumentDB Emulator SSL


我正在尝试通过本地网络连接DocumentDB Emulator。(虚拟机上的I-dev)

我正在尝试将端口转发到DocumentDB Emulator侦听的8081本地端口。在
命令提示符下(以管理员身份运行)

netsh接口端口代理添加v4tov4 listenadress=192.168.0.101 listenport=8080 connectport=8081 connectaddress=127.0.0.1

192.168.0.101是电脑的网络地址

现在我可以导航到:

https://192.168.0.101:8080/_explorer/index.html
并查看数据资源管理器。乐观地说,在关闭SSL的情况下,我可以让它为开发人员工作吗


还尝试使用node.js
http代理
无法使用自签名证书:(


更新,我实际上得到了
http代理
的工作,但它只有在您按特定顺序启动服务器时才能工作

  • 启动api服务器
  • 使用
    secure:true
  • 建立失败的连接
  • 将代理服务器(在windows box上)更改为
    安全:false
    ;重新启动
  • 现在它可以工作了…但对开发人员来说没用,因为如果在代码更改后重新启动API服务器,连接会再次失败
  • 要在Windows box上运行的Node.js代理示例:

    ```


    ```

    更新:我尝试的以下解决方案不起作用。
    连接超时
    ,192.168.0.101:8881使用Node.js DocumentDB sdk。我认为是因为SSL。:/抱歉。请留下这个“答案”来说明什么不起作用,以及是否有人知道如何绕过DocumentDB Emulator SSL


    我正在尝试通过本地网络连接DocumentDB Emulator。(我在虚拟机上开发)

    我正在尝试将端口转发到DocumentDB Emulator侦听的8081本地端口。在
    命令提示符(以管理员身份运行)

    netsh接口端口代理添加v4tov4 listenadress=192.168.0.101 listenport=8080 connectport=8081 connectaddress=127.0.0.1

    192.168.0.101是电脑的网络地址

    现在我可以导航到:

    https://192.168.0.101:8080/_explorer/index.html
    并查看数据资源管理器。在关闭SSL的情况下,我是否可以让它为开发人员工作


    也特里亚
    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);