什么CosmosDb操作导致Azure功能触发?

时间:2017-09-29 14:58:39

标签: azure azure-functions azure-cosmosdb

关于创建由CosmosDB触发的Azure功能的msdn指南 - https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-cosmos-db-triggered-function

我仍然不清楚哪些数据库操作实际上会触发Azure功能 - 例如,通过CosmosDB管理门户创建一个新文档。所以我们知道文档创建触发了Az Fx,但是对文档的更新呢?

每个更新/创建操作是否映射到azure函数的单个触发还是已批处理?

1 个答案:

答案 0 :(得分:4)

Cosmos DB Trigger与Cosmos DB Change Feed绑定。基本上,Feed会以有序的方式发布集合中发生的所有插入/更新(不是删除,除非您使用的是软删除,实际上是更新)。

触发器内部利用Cosmos DB Change Feed Processor Library,因此您的函数将接收批量插入/修改的文档。

批次的大小取决于操作的频率。如果您每秒插入1个文档,您的函数可能会多次触发一批1个文档;如果每秒插入10个文档,批处理将包含这10个文档。它不是与docs / second的直接关系,只是让你知道函数将始终获得批处理,批量大小取决于操作量。

在您的功能代码中,C#中的输入是IReadOnlyList<Document>,而Javascript中的输入是JArray(或简称为数组)。