0

我有 2 个订阅 Azure 服务总线主题。两个订阅都并行接收消息,我有 2 个服务总线输入触发 azure 函数来处理消息。

Azure 服务总线主题

--订阅 1 -> Azure 功能 1

--订阅 2 -> Azure 功能 2

但是我有一个场景,如果我的 Azure 函数 2 在 Azure 函数 1 完成处理消息后接收消息会更好。一种解决方案是将消息从 Azure 函数 1 发送到新主题,并让 Azure 函数 2 从新主题接收。除此之外,还有其他更好的解决方案来处理这个问题吗?

4

2 回答 2

0

您提到的是最简单的解决方案,但您也可以查看持久功能。您将不得不做更多的工作,但这意味着我认为这是您的要求的链接功能。

https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-sequence?tabs=python

于 2021-09-30T05:28:28.833 回答
0

同意您的解决方案,更简单的方法是从 Function 1 发布到新主题。这将起作用,因为 Function1 和 Function2 所需的有效负载相同。

我们遇到了类似的情况,我们希望在处理 Function2 之前完成 Function1。有效载荷不同。我们最终做的是在 Function2 中添加一个条件来检查 Function1 是否已经完成,如果没有在 5 分钟后重试消息。使用 Lock-Expiry 重试机制做到了这一点。

于 2021-10-08T05:17:40.593 回答