3

我们正在使用 Cosmos DB 更改源来解决我们的一些需求。想了解更改提要中是否有任何重试机制。例如,如果我收到一批 10 个文档,但由于某种原因无法处理第 3 个文档,我可以只重播第 3 个消息吗?

使用更改提要的三种方式:

  1. Azure Functions - 没有看到 ant 重试机制。

  2. 更改提要处理器库 - 如果在处理一批文档时出现任何异常,则会重新重播所有文档。

  3. Azure Cosmos DB SQL API SDK - 尚未对此进行详细探讨。但是我们可以完全控制检查点,所以我们可以从失败的消息开始重播。

我还没有找到一个选项来重试一批消息中的失败消息。

4

1 回答 1

2

目前还没有这样的机制,但如果有就好了。一种可能有帮助的方法是使用手动检查点(ChangeFeedProcessorSettings 中的 CheckpointFrequency,ChangeFeedObserverContext.CheckpointAsync())。但请注意,即使使用手动检查点,原子单元仍然是一个批次。

于 2018-11-16T20:32:58.217 回答