我有一个SQS队列,该队列具有支持的故障DLQ。我想在java(spring-boot(中编写一个自定义Lambda函数,从这个dlq中获取消息,将其写入一个文件,将文件上传到S3 bucket,并将该文件作为警报发送到指定的webhook。
我是lambda的新手,我希望这个设计能够实现。
一个要求是我想每天只执行一次Lambda。比方说每天早上6点。我希望队列中的所有消息都写入一个文件。
我试图看到实现RequestHandler
的示例,其中队列中的消息被接收并迭代以一次一个地保存在文件中。
我不知道如何配置lambda,使其每天只运行一次,而不是每次消息进入DLQ时。
任何与这些查询相关的文档都将非常有用。请批评我的预期实现,并提供更好的解决方案。
您可以使用CloudWatch Event schedule在任何计划上运行lambda代码(对于您的案例,每天运行一次(。
要创建时间表,请按照以下链接
在lambda代码中,可以从DLQ获取消息并迭代处理它们。
- 您无需在AWS中使用Spring框架Lambda仅使用Java
- 将Lambda与Cloud watch cron表达式一起使用,并安排每日运行
- 编写自己的逻辑
- https://docs.aws.amazon.com/lambda/latest/dg/java-samples.html
- https://www.freecodecamp.org/news/using-lambda-functions-as-cronjobs/