我已经创建了类型的EventGridTrigger类型的Azure函数,作为Event Grid中的主题的订户。此功能使用REST客户端调用下游API。
但是,在某些情况下,下游API不是Avaialble,或者在呼叫EventGridlTrigger的下游API时有例外。在这种情况下,我观察到EventGridTopic仍显示事件为已交付,而不是在失败时重试。
无论如何,是否有可能在处理故障时将EventGrid重试的交付或可能在Deadletter队列中添加?
I have created Azure Function of type EventGridTrigger as subscriber to a topic in Event Grid. This function calls the downstream api using rest client.
However there could be scenarios where downstream api is not avaialble or there is exceptions while calling downstream api from EventGridLtrigger. In such case I have observed EventGridTopic is still showing Event as delivered instead of retrying on failure.
Is there anyway possible to get EventGrid to retry delivery or possibly add the event in deadletter queue when there is processing failures?
发布评论
评论(2)
eventgrid
在且仅当失败不是因为配置误差本质上无法通过重试解决。
您可以通过配置两个变量来配置重试策略
RETRY
和实时
的事件时间。顾名思义在删除消息之前可以进行的最大尝试
或死了,活动时间将配置时间
默认情况下每个重试之间是1440。
创建事件网格时可以配置重试策略。
参考:
Eventgrid
will retry if and only if the failure is not because of aconfiguration error which intrinsically cannot be solved by the retry.
You can configure retry policy by configuring two variables
Max ammount of retry
andevent time to live
. As their name suggestmaximum attempts which can be made before either droping the message
or dead lettering it, event time to live will configure the time
between each retry by default it is 1440.
You can configure retry policy when you create the event grid.
Reference:
Retry in event grid
如果在Azure EventGrid触发功能中存在内部服务器错误(状态代码500),则事件网格将根据配置重试送达。使用以下链接以获取更多详细信息。
https://github.com/azure/azure/azure-functions-eventgrid-gridgrid--扩展/问题/32
If there is internal server error (status code 500) in the Azure EventGrid Trigger function, Event Grid will retry delivery based on the configuration. Use below link for more details.
https://github.com/Azure/azure-functions-eventgrid-extension/issues/32