graph - 我可以使用 CosmosDB(图形 API)中的触发器根据文档负载自动创建边缘吗?

标签 graph gremlin azure-cosmosdb

我在 CosmosDB 中有一个 json 文档集合,其中可以包含对集合中其他文档的引用(通过 id)。

我想通过使用每当创建/更新/删除文档时运行的触发器来自动管理这些文档之间的图形边缘。

我可以从触发器函数内的 Javascript 访问 Gremlin API 吗?

是否有关于图表上下文中触发器的文档?我没找到。

一个更肮脏的替代方案是在触发器中“手动”创建边缘文档,但如果 CosmosDB 团队更改描述边缘的文档的底层格式,这就会中断。

最佳答案

Cosmos DB Trigger可能会起作用,并且它会给您一组您可能需要首先处理的文档。

由于触发器正在监听 Change Feed您将获得代表集合上任何插入/更新的文档。对于图形,这些可以是顶点或边,因此您可能需要首先检测要使用它的文档类型。

至于维持新关系,DocumentDB Output binding可能不适合你,因为就像你说的,内部表示可能会改变。但是您可以做的是在您的Azure函数中包含一些C# / Node Gremlin library并使用它直接与 Cosmos DB Graph API 对话。

关于graph - 我可以使用 CosmosDB(图形 API)中的触发器根据文档负载自动创建边缘吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46448024/

相关文章:

java - 如何在 Gremlin 中查找图形模式?

c# - 如何测量每个 Web 请求的 Azure CosmosDB 请求单位?

sql - SQL 中的嵌套 "for loop"搜索 - Azure CosmosDB

linq - LINQ to CosmosDB 中数组的交集

c# - devexpress样条xrgraph中的多个系列

java - 反转图上的 DFS

cassandra - JanusGraph 错误 : "Could not find type for id" during a concurrent load operation

graph-databases - 如何从 Gremlin 中的特定顶点找到没有特定边的顶点?

c++ - 从 8 个连接的像素列表中提取片段

javascript - 使用 JavaScript 制作陷波滤波器的 HTML5 Canvas 图