如何使用带有 Cosmos DB 触发器的 Azure 函数保证至少交付一次

kya*_*les 7 azure reliable-message-delivery azure-functions azure-cosmosdb

我有一个用于 Azure 函数的 Cosmos DB 触发器。我想将传入文档中的一些数据展平并写入(Azure)SQL Server。

有什么方法可以保证至少一次交货?

我查看了https://hackernoon.com/reliable-event-processing-in-azure-functions-37054dc2d0fc,它在事件中心事件触发的 Azure 函数的情况下提供了一些选项,但我不确定是否相同适用于导致触发器触发的 CosmosDB changefeed。

在 Cosmos DB Change Feed 站点https://docs.microsoft.com/en-us/azure/cosmos-db/change-feed 上,它指出:

对文档的每次更改在更改提要中只出现一次,并且客户端管理其检查点逻辑。更改提要处理器库提供自动检查点和“至少一次”语义。

这是否意味着它实现了与事件中心相同(或类似)的检查点系统?

如果将断路器模式应用于此 CosmosDB 触发器到 Azure 函数的流程,如https://hackernoon.com/reliable-event-processing-in-azure-functions-37054dc2d0fc末尾所详述,断路器模式的工作方式是否相同?

Mik*_*kov 5

Azure Functions Cosmos DB 触发器基于更改源处理器库。您将至少获得一次开箱即用。