考虑到成本和性能,使用AWS调度器的最佳方法是什么
我正在从事一个JAVA项目,该项目将文件上传到AWS S3 bucket。现在我需要每天早上8点在S3中处理这些文件(验证并将数据发送到数据库)。我计划为此使用AWS调度程序。但是我搞不清楚我必须使用什么样的调度程序以及如何使用。我查阅了文档,通过Lambda找到了关于AWS批处理和AWS云监视调度程序的信息。但是我不知道在这个场景中使用AWS调度器的最佳方式是什么。不确定AWS批次是否适用于此。事实上,我也需要考虑成本。 如果你能建议我解决这个问题的最佳方法,我很高兴。也欢迎其他方法
p.S:文件处理将需要15分钟以上。我还需要配置其他几个调度器
# 1 楼答案
一种方法(AWS总是有很多)是通过EventBridge,以前是CloudWatch Events和AWS Lambda。我以前从未使用过AWS批处理
编码并部署AWS Lambda函数。在Lambda中,您访问S3存储桶,验证数据,并将数据发送到数据库
如果打开AWS控制台,请转到Lambda功能。接下来添加触发器并选择EventBridge
现在您可以创建一个新规则。要使其每天早上8点运行,您的计划表达式为
cron(0 8 * * ? *)
要记住的一些事情:
# 2 楼答案
我在这里提出的解决方案是
注:此处的设计优先考虑成本、扩展、维护和设计(松耦合)
注意:这里的假设是处理一个文件(单个文件)的时间不超过15分钟,这是lambda的限制。如果文件的处理时间超过15分钟,则上述解决方案将不起作用。如果您确认,我可以给出另一个解决方案