如何设置 gremlin 控制台以针对本地 Azure CosmosDB 模拟器工作?

How to set up gremlin console to work against local Azure CosmosDB Emulator?

我有一些针对 Azure CosmosDB 模拟器的本地软件 运行ning,它工作正常,但是当我尝试使用 gremlin 控制台(版本 3.4.4)时,我就是无法让它工作。

根据 Microsoft 文档 https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/cosmos-db/create-graph-gremlin-console.md 和我现有的工作应用程序,我设置了我的本地 yaml 文件

hosts: [localhost]
port: 8901
username: /dbs/GremlinNoteDB/colls/CrmCollection
password: C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==
connectionPool: { enableSsl: true }
serializer: { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV2d0, config: { serializeResultToString: true }}

并且 运行ning 命令...

gremlin> :remote connect tinkerpop.server conf/cosmos_local.yaml

...导致以下输出(在我未经训练的眼中)看起来不错。

gremlin> :remote connect tinkerpop.server conf/cosmos_local.yaml
==>Configured localhost/127.0.0.1:8901, localhost/0:0:0:0:0:0:0:1:8901

但是当我尝试 运行 像下面这样的 gremlin 命令时,它失败了。我错过了一些明显的东西吗?我试过更改 ssl 并使用其他序列化程序但无济于事。

gremlin> :> g.V().count()
Host did not respond in a timely fashion - check the server status and submit again.
Type ':help' or ':h' for help.
Display stack trace? [yN]

欢迎任何帮助。我在 Whosebug 上查看了其他相关帖子,但它们并没有解决我的问题。总结一下:Azure CosmosDB 模拟器可以工作,因为我可以连接我的 .net 应用程序,但我无法让 gremlin 控制台工作。

CosmosDB 模拟器在没有 SSL 的情况下工作。

设置 { enableSsl: false } 应该可以解决您的问题。

似乎目前 gremlin 控制台(版本 3.4.4)不支持连接到 Azure CosmosDB 模拟器(至少在 here 显示的形式中)。 改为使用 gremlin 控制台 3.3.4