如何重试将事件从 Azure 事件网格发送到逻辑应用程序

How to retry sending events from Azure Event Grid to Logic Apps

我有一个发布大量事件的事件网格,以及一个需要使用其中一些事件的逻辑应用程序。不能保证这些事件是有序的,需要先处理另一个事件的事件可能会过早地在逻辑应用中结束,从而导致它们失败。
从文档中,我可以看到事件网格支持重试策略,时间间隔增加。这将解决我的问题。
但是,似乎有问题的逻辑应用程序总是从事件网格中确认事件,即使进程因故障状态下的终止操作和错误代码而提前停止。
在逻辑应用概述中,运行显示为失败。但是事件网格从不尝试重试,并且似乎认为事件是成功的。如何使事件网格重试失败的逻辑应用程序运行?

好像Azure logic app一旦被触发,Azure event grid中的事件就被认为处理完毕了

我觉得你可以在你Azure logic app失败的那一步配置重试策略,请参考Retry policies

Http动作为例:

你可以点击Http动作右上角的···,然后点击Settings,在[=17=下选择你想要的类型select ]:

事件网格将根据您终止逻辑应用程序的方式重试。如果您使用 http 响应操作(状态代码 500)终止,则事件网格将尝试重试。

现在,根据您的逻辑应用程序中发生的情况,以一种在状态代码为 500 的 http 响应操作上终止的方式处理故障。