当我尝试在Javascript中使用gremlin 3.4.0进行连接时,我不断从cosmos db获取服务器超时(我也在.net core中尝试过,但仍然相同)。
我已经能够连接到旧版本的gremlin 2.6.0,但是现在当我将gremlin更新到3.4.0时(我也阅读了他们的文档,如何在版本3.4.0中连接到db)我总是得到服务器超时。
这是我尝试连接的方式(也包括ssl身份验证器):
const dbName = "dbName";
const collection = "collectionName";
const key = "key";
const cosmosEndpoint = "ws://endpointName.gremlin.cosmosdb.azure.com:433/gremlin";
const authenticator = new Gremlin.driver.auth.PlainTextSaslAuthenticator(`/dbs/${dbName}/colls/${collectionName}`
, key);
const client = new Gremlin.driver.Client(
cosmosEnpoint,
{
authenticator,
traversalsource: "g",
rejectUnauthorized: true,
ssl: true,
session: false
}
);
我在Javascript中遇到此错误:
错误:连接ETIMEDOUT ...:433 在TCPConnectWrap.afterConnect上[作为oncomplete](net.js:1083:14) 在以下位置发出了“错误”事件: 在Connection._handleError(C:\ RDS \ RDS.Graph.API-复制(2)\ node_modules \ gremlin \ lib \ driver \ connection.js:216:10) 在WebSocket._ws.on(C:\ RDS \ RDS.Graph.API-复制(2)\ node_modules \ gremlin \ lib \ driver \ connection.js:129:40) 在WebSocket.emit(events.js:197:13) 在WebSocket.finalize(C:\ RDS \ RDS.Graph.API-复制(2)\ node_modules \ ws \ lib \ WebSocket.js:182:41) 在ClientRequest._req.on(C:\ RDS \ RDS.Graph.API-复制(2)\ node_modules \ ws \ lib \ WebSocket.js:647:10) 在ClientRequest.emit(events.js:197:13) 在Socket.socketErrorListener(_http_client.js:397:9) 在Socket.emit(events.js:197:13) 在emitErrorNT上(内部/流/destroy.js:82:8) 在emitErrorAndCloseNT(internal / streams / destroy.js:50:3)
我在.NET中遇到此错误:
连接尝试失败是因为被连接方在一段时间后未正确响应,或者由于连接的主机未能响应而建立的连接失败
我做错什么了吗或者是因为数据库?
谢谢大家。
答案 0 :(得分:0)
您可以尝试遵循此example js code,对我来说效果很好。
忽略项目中的package.json
,只需执行npm install gremlin
以安装最新版本的gremlin软件包(3.4.0)
然后运行app.js:
const Gremlin = require('gremlin');
const config = require("./config");
const authenticator = new Gremlin.driver.auth.PlainTextSaslAuthenticator(`/dbs/${config.database}/colls/${config.collection}`, config.primaryKey)
const client = new Gremlin.driver.Client(
config.endpoint,
{
authenticator,
traversalsource: "g",
rejectUnauthorized: true,
ssl: true,
session: false,
mimeType : "application/vnd.gremlin-v2.0+json"
}
);
执行日志: