我们正在使用Cosmos DB变更供稿来解决我们的一些要求。想了解变更Feed中是否有任何重试机制。例如,如果我得到一批10个文档,但由于某种原因无法处理第三个文档,我可以只重播第三个消息吗?
有三种使用变更供稿的方式:
Azure函数-对此没有看到蚂蚁重试机制。
更改供稿处理器库-如果处理一批文档时有任何异常,将再次重播所有文档。
Azure Cosmos DB SQL API SDK-尚未详细探讨。但是我们对检查点拥有完全的控制权,因此我们可以从失败的消息开始重播。
我还没有找到一个选项可以仅重试一批邮件中失败的邮件。
答案 0 :(得分:1)
目前尚无此类机制,但是很好。 可能帮助的一种方法是使用手动检查点(ChangeFeedProcessorSettings中的CheckpointFrequency,ChangeFeedObserverContext.CheckpointAsync())。但是请注意,即使使用手动检查点,原子单位仍然是一批。