我有一个发布许多事件的事件网格,以及一个需要使用其中一些事件的逻辑应用程序。不能保证这些事件是按顺序发生的,需要首先处理另一个事件的事件可能会提前在逻辑应用程序中结束,从而导致它们失败。
从文档中,我可以看到事件网格支持重试策略,并且间隔时间越来越长。这样可以解决我的问题。
但是,看起来似乎有问题的逻辑应用程序始终会确认事件网格中的事件,即使该过程由于Terminate操作处于故障状态并带有错误代码而提前停止,也是如此。
从逻辑应用程序概述中,运行显示为失败。但是事件网格从不尝试重试,并且似乎认为事件成功。如何使事件网格重试失败的逻辑应用程序运行?
似乎一旦Azure logic app
触发,Azure event grid
就认为该事件已得到处理。
我认为你可以在Azure logic app
失败的步骤配置重试策略,请参阅重试策略。
以Http
动作为例:
你可以单击操作的···
右上角Http
,然后单击Settings
,然后在下面选择所需的类型Retry Policy
:
我已经怀疑情况确实如此,但是感谢您的澄清。可悲的是,由于尚未处理相关事件,因此服务器端的数据丢失并不会导致错误代码之一,而该错误代码会触发重试。我将不得不寻找另一种解决问题的方法。