为什么我的 gremlin.net gremlin 客户端无法使用 azure cosmos graph db
Why is my gremlin.net gremlin client not working with azure cosmos graph db
我已经设置了一个无服务器 azure cosmos graph 数据库帐户,现在我正在尝试使用以下代码连接到它:
.AddSingleton(s =>
{
var connectionPool = new ConnectionPoolSettings
{
MaxInProcessPerConnection = 32,
PoolSize = 4,
ReconnectionAttempts = 4,
ReconnectionBaseDelay = TimeSpan.FromSeconds(1)
};
var server = new GremlinServer("<project-name>.documents.azure.com", 443, true, "/dbs/<DatabaseName>/colls/<GraphName>", "<primary key>");
return new GremlinClient(server, connectionPoolSettings: connectionPool);
})
GremlinClient 抛出异常消息
The server returned status code '200' when status code '101' was expected.
我正在使用 Gremlin.Net 3.6.0 和 NET 6
有什么想法吗?
如果您与 Gremlin.Net 的早期版本连接良好,您可能想要恢复。 According to their website 他们支持的版本是 3.4.6。虽然 3.4.x 的更高版本可能会工作,但它可能需要更多配置(例如,我认为您可能必须切换序列化程序,因为我认为 CosmosDB 不支持 GraphBinary 序列化程序)并且您必须注意不使用较新版本的 TinkerPop 具有而 3.4.6 没有的某些功能。
问题已通过更改
中的 uri 得到解决
<project-name>.documents.azure.com
至
<project-name>.gremlin.cosmosdb.azure.com
我已经设置了一个无服务器 azure cosmos graph 数据库帐户,现在我正在尝试使用以下代码连接到它:
.AddSingleton(s =>
{
var connectionPool = new ConnectionPoolSettings
{
MaxInProcessPerConnection = 32,
PoolSize = 4,
ReconnectionAttempts = 4,
ReconnectionBaseDelay = TimeSpan.FromSeconds(1)
};
var server = new GremlinServer("<project-name>.documents.azure.com", 443, true, "/dbs/<DatabaseName>/colls/<GraphName>", "<primary key>");
return new GremlinClient(server, connectionPoolSettings: connectionPool);
})
GremlinClient 抛出异常消息
The server returned status code '200' when status code '101' was expected.
我正在使用 Gremlin.Net 3.6.0 和 NET 6 有什么想法吗?
如果您与 Gremlin.Net 的早期版本连接良好,您可能想要恢复。 According to their website 他们支持的版本是 3.4.6。虽然 3.4.x 的更高版本可能会工作,但它可能需要更多配置(例如,我认为您可能必须切换序列化程序,因为我认为 CosmosDB 不支持 GraphBinary 序列化程序)并且您必须注意不使用较新版本的 TinkerPop 具有而 3.4.6 没有的某些功能。
问题已通过更改
中的 uri 得到解决<project-name>.documents.azure.com
至
<project-name>.gremlin.cosmosdb.azure.com