关于调度事件桥触发器

0

【以下的问题经过翻译处理】 大家好, 我有一个需求,需要完成以下几个事情:

  1. 从AWS调用外部客户端api每日获取一次文件。
  2. 在获取文件时,以下是可能发生的情况:

-- 如果在第一次尝试从外部api获取文件时失败,则每隔15分钟重新尝试一次。在每隔15分钟内一直进行尝试,最多尝试2小时。如果在2小时后,仍无法从外部api获取文件,则记录失败。

-- 如果成功获取文件,则停止调用外部api重新获取文件,将文件推送到s3中以进行存储。

问题:

按照初始设计,我使用AWS事件桥梁调度程序每15分钟调度一次lambda,最多持续2小时

这个lambda将调用外部api,并将文件存储在s3中。

但是,我觉得有点难以理解的是,在以下情况下,

 -- 如果我能够成功从外部api检索文件,则如何要求AWS事件调度程序停止当天的重复触发。

  ---  如果即使2小时后还无法获取文件,事件桥梁或lambda如何记录(因为, 

  ---- 1)事件桥梁不知道成功或失败,它只知道在每15分钟内触发2小时

       2)lambda不知道所预定的2小时窗口是否已完成)

是否有更好的方法可以建议上述情况。

profile picture
专家
已提问 5 个月前13 查看次数
1 回答
0

【以下的回答经过翻译处理】 我会采用不同的方法。使用EventBridge来安排每天运行一次Step Functions过程。Step Functions工作流将使用Lambda函数来处理文件的检索。Step Functions具有内置的重试功能。您将设置间隔为900秒(15分钟),最大重试次数为8次(第一次尝试+8次重试=2小时)。因此,Step Functions中的一个步骤将按预期检索文件。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则