如何发送事件网格用户逻辑应用程序对事件网格自定义主题Azure的响应

时间:2020-07-31 14:09:26

标签: azure-logic-apps azure-eventgrid

我正在使用基于服务总线的事件网格发布者逻辑应用程序,订户逻辑应用程序,并且具有事件网格自定义主题

每当我发布事件时,每次都会收到200 OK响应。我希望有一个重试机制,在该机制中,我仅应在订阅者成功处理后完成服务总线消息,并且事件网格应该知道订阅者响应的响应。

这是我得到的回复 enter image description here

已在数据有效负载事件网格发布中添加了validationCode

enter image description here

来自订户的发送响应 enter image description here 这是主题订阅中的事件过滤器 enter image description here

我如何在我的逻辑应用程序中将响应发送回事件网格发布者逻辑应用程序?

1 个答案:

答案 0 :(得分:0)

事件网格不支持请求/响应类型的方案。您将必须使用中介服务来处理响应,例如将响应发送到其他服务总线队列中。

在这种情况下,您可以利用message deferral,其中在第一个逻辑应用中,当在事件网格消息中传递消息的序列号时,将延迟该消息。

第二个逻辑应用程序将处理事件,并将消息及其处理的消息的序号以及成功/失败消息推送到响应队列中。

从响应队列中的消息触发的第三个逻辑应用程序将使用序列号获取消息,如果成功,则将其完成。如果响应消息指示失败,则可以将原始消息写死,也可以根据情况重新排队。

另一种方法可以是简单的call the second logic app directly,除非除了解耦之外,由于其他原因还需要事件网格。