我的Azure Cosmos DB触发器遇到了问题。显然,某些触发器失败,因此未完成将数据发送到特定服务。据我所知,没有简单的方法可以“重新触发”这些事件,而无需再次实际将数据插入Cosmos。我在某个地方读到,我可以将来自触发器的传入数据插入到一个ServiceBus队列消息中,并从那里处理它。然后,我可以使用死信队列来潜在地重新排队失败的项目。然而,消息包含几KB的数据。我不确定这是否明智。解决这一问题的最佳办法是什么?谢谢!
5cg8jx4n1#
您只能通过以下方式重新触发
我们已经做了相当多的服务总线解决方案,现在没有任何问题。maximum message size是256KB的标准层,这是足够的。如果大小确实是个问题,那么只能将documentId放入ServiceBus。然而,这会为CosmosDB创建一个读密集型的解决方案。如果您想避免这种情况,那么解决方案会变得更加复杂。这已经是相当武断的了,但根据我的经验,ServiceBus解决方案非常健壮,也不是很复杂。如果您很少需要手动方法来“伪造”事件的重新触发,您可以使用手动方法。
1条答案
按热度按时间5cg8jx4n1#
您只能通过以下方式重新触发
我们已经做了相当多的服务总线解决方案,现在没有任何问题。maximum message size是256KB的标准层,这是足够的。
如果大小确实是个问题,那么只能将documentId放入ServiceBus。然而,这会为CosmosDB创建一个读密集型的解决方案。如果您想避免这种情况,那么解决方案会变得更加复杂。
这已经是相当武断的了,但根据我的经验,ServiceBus解决方案非常健壮,也不是很复杂。如果您很少需要手动方法来“伪造”事件的重新触发,您可以使用手动方法。