如何在NodeJS中的代理后面使用DocumentDB

时间:2018-07-19 14:32:16

标签: node.js azure azure-cosmosdb

在NodeJS中,我试图使用Documentdb库连接到Cosmos DB,正如《天蓝色的天空》文档的入门者在TODO List Example中说的那样。 Tutorial Here

如果我使用的互联网不位于代理服务器后面,则可以使用。

这是连接代码:

var DocumentDBClient = require('documentdb').DocumentClient;

var docDbClient = new DocumentDBClient(config.host, {
    masterKey: config.authKey
});

但是当我在代理服务器后面时,连接永远不会发生。我收到“错误:连接ETIMEDOUT”

在其他节点JS应用中,如果要发出Web服务请求,则只需为该请求配置代理。例如,请求:

request = require('request').defaults({
  proxy:'http://USERNAME:PASSWORD@proxy.url.com:8080',
});

是否可以在DocumentDB中配置代理以连接到Azure(NodeJS)中的数据库?

1 个答案:

答案 0 :(得分:2)

我没有亲自尝试过,但是我浏览了SDK的源代码,发现ConnectionPolicy有一个名为ProxyUrl的参数。您可以尝试以下方法吗?

var connectionPolicy = new DocumentBase.ConnectionPolicy();
connectionPolicy.ProxyUrl = 'http://USERNAME:PASSWORD@proxy.url.com:8080';
var docDbClient = new DocumentDBClient(config.host, {
    masterKey: config.authKey
}, connectionPolicy);