繁体   English   中英

如何使用版本^ 3上的gremlin与CosmoDB图形数据库建立新连接

[英]How to start a new connection with CosmoDB graph database using gremlin on version ^3

我试图在节点js中创建一个新的gremlin客户端,但我找不到任何文档如何设置与URL和主键(在Azure CosmosDB中生成)的连接。

有关如何在版本<v3中执行此操作的示例,例如此处

有关新版本gremlin的文档可以在新文档中找到 ,但它没有解释如何将主键放入对象中(包也不是很清楚,我试图填充“cert”和“pfx”无济于事。

有谁知道如何使用node的gremlin包v ^ 3.0.0连接到我的azure CosmosDB gremlin API?

尝试将帐户密钥添加到请求正文。 我猜测连接字符串的属性。

"AccountKey"= "YourReallyLongKeyHereYourReallyLongKeyHereYourReallyLongKeyHere"

编辑

进一步研究后,您可能需要根据此文档添加授权标头。

type={typeoftoken}&ver={tokenversion}&sig={hashsignature}  

示例:type = master&ver = 1.0&sig = 5mDuQBYA0kb70WDJoTUzSBMTG3owkC0 / cEN4fqa18 / s =

我使用最新的gremlin lib连接到cosmos db。 这是我的代码:

const authenticator = new Gremlin.driver.auth.PlainTextSaslAuthenticator(
  config.user,
  config.password
);
const endpoint = `wss://${config.host}:${config.port}/gremlin`;
const client = new Gremlin.driver.Client(endpoint, {
  authenticator,
  mimeType: 'application/vnd.gremlin-v2.0+json',
  rejectUnauthorized: true,
  traversalsource: 'g',
});

然后,您可以使用以下命令向服务器提交一个返回promise的命令:

query = 'g.V().count()';
client.submit(query).then(successfn,errorfn);

使用的配置格式如下:

{ "host": "<cosmosdbname>.gremlin.cosmosdb.azure.com", "password": "<secret-key>", "port": 443, "user": "/dbs/<dbname>/colls/<collectionName>", }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM