gpt4 book ai didi

c# - Azure Functions EventGrid 触发器

转载 作者:太空宇宙 更新时间:2023-11-03 22:45:04 25 4
gpt4 key购买 nike

我已经实现了一个 EventGrid 触发器来响应 Blob 存储事件,其逻辑简化如下:

public static async void Run(
JObject eventGridEvent,
TraceWriter log,
ExecutionContext context)
{
string eventContent = ParseEvent(eventGridEvent);

HttpClient client = GetProxyClient();
HttpResponseMessage response = await client.GetAsync("blabla/" + eventContent);
string responseContent = await response.Content.ReadAsStringAsync();
log.Info("Here is the response :" + responseContent);
}

外部 API 响应时间不长(1 秒或更短),并且我的主机配置设置为默认(因此允许无限数量的并发调用)。

同时添加多个 blob(从 2 个 blob 开始)时,我在日志中收到大量重复事件(脚本快速地一个接一个地上传 blob,中间没有等待时间)。

我觉得这可能是由于我从未确认接收事件,并且我不知道是否应该在代码中执行此操作,或者 EventGrid 触发器是否会自动执行此操作。

确认事件处理的逻辑是否应该在 EventGrid 触发器(Http 200 响应)中实现,还是自动处理?

如果不是,我是否仍然会收到重复的事件?通常,上传单个 blob 时,我会收到该事件 3-4 次。

我问这个问题的原因是,当使用 Http 触发器并返回 400 响应时,我也会收到重复的事件,这是有意义的,因为我不承认已正确处理该事件。但是,当我返回 200 响应时,我不会收到重复的事件。

谢谢

最佳答案

您无需执行任何特殊操作即可向事件网格指示成功。如果您的函数执行成功(不抛出异常),触发器将自动响应成功状态代码。

关于c# - Azure Functions EventGrid 触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50370180/

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