我可以在CosmosDB(Graph API)中使用触发器根据文档有效负载自动创建边缘吗?

时间:2017-09-27 12:35:03

标签: graph gremlin azure-cosmosdb

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

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

我可以在触发器功能中从Javascript访问Gremlin API吗?

图表上下文中是否有任何触发器文档?我找不到任何。

更脏的替代方法是在触发器中“手动”创建边缘文档,但如果CosmosDB团队更改描述边缘的文档的基础格式,这将会中断。

2 个答案:

答案 0 :(得分:1)

Cosmos DB Trigger可能会有效,它会为您提供一组您可能需要首先处理的文档。

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

至于坚持新关系,DocumentDB Output binding可能不适合你,因为正如你所说,内部表示可能会改变。但是你可以做的是在你的Azure功能中添加一些C# / Node Gremlin library并使用它直接与Cosmos DB Graph API对话。

答案 1 :(得分:1)

UDF /数据库触发器/存储过程当前不支持图谱API,我们没有时间表来支持何时支持。

下一个最佳方法是手动创建所描述的图元素。