gpt4 book ai didi

azure - 如何使用 Azure EventGrid Webhook 维护幂等性?

转载 作者:行者123 更新时间:2023-12-04 15:06:17 25 4
gpt4 key购买 nike

我已配置 EventGrid 订阅,以便在创建资源时启动资源组中事件的 Web Hook 调用。

Web Hook 调用已成功处理,我返回 200 OK。为了保持幂等性,我将发生的所有事件以及事件的 id 存储在 webhook_events 表中。任何新事件都会通过其 id 检查它们是否存在于该表中。

Azure EventGrid 在返回 200 OK 后尝试从重试队列中删除事件。无论我以多快的速度响应 200 OK,EventGrid 都会可靠地重试发送。

我多次收到相同的事件(正如我所说,Eve​​ntGrid 总是重试,因为它无法足够快地从重试队列中删除事件)。但这不是我问题的重点;相反,问题在于每次重试都会为我提供不同的事件 id。这意味着我无法从逻辑上确定事件的唯一性,并且我的应用程序代码没有以幂等方式执行。

尽管事件重试之间没有唯一标识符,但如何保持应用程序和 Azure 之间的幂等性?

最佳答案

如果您查看documentation,这就是EventGrid 的实现方式。

If the endpoint responds within 3 minutes, Event Grid will attempt to remove the event from the retry queue on a best effort basis but duplicates may still be received.

您可以使用后端代码清理日志和存储的数据,使用事件和消息 ID 来识别重复项。

关于azure - 如何使用 Azure EventGrid Webhook 维护幂等性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53851926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com