【问题标题】:AWS S3 Notification ConsolidationAWS S3 通知整合
【发布时间】:2021-01-27 00:16:07
【问题描述】:

我的目标是开发一个应用程序,该应用程序可以检查我的 AWS S3 存储桶中的五个文件,一旦实现,启动将这些文件加载​​到我的数据库中的 Lambda 函数。从 S3 事件加载文件运行良好。我面临的问题是,即使您同时上传所有文件,每个文件都会生成一个事件。我的加载功能被启动了五次。

我对如何解决这个问题有一些想法。一种方法是将事件通知合并到一个事件中。这可能吗?这种方法会起作用,因为如果客户端只上传 4 个文件(然后发送一封电子邮件说要上传 5 个文件),我可能会中断进程。否则,如果有 5 个文件,我可以启动 Lambda 来处理存储桶中的所有内容(如果存储桶中的 # 个对象 = 5,当然!这可以很容易地检查。)这样,Lambda 函数只运行一次。

总之,我希望合并事件通知,以便我可以运行 Lambda 函数一次而不是五次。请告知这是否可行,以及我可以通过 AWS 产品的哪个渠道找到我的解决方案。谢谢。

【问题讨论】:

    标签: python amazon-web-services amazon-s3 amazon-ec2 aws-lambda


    【解决方案1】:

    没有“事件合并”这样的概念。

    您需要:

    • 每次上传时触发 AWS Lambda 函数
    • 该 Lambda 函数应首先检查所有 5 个文件是否已上传
    • 如果是这样,它可以处理文件。如果没有,它应该退出。

    如果他们“只上传 4 个文件”,困难的部分是发送通知,因为这需要等待足够的时间让他们在发送通知之前上传剩余的文件。这将建议使用带有Wait 的 AWS Step Function,以便它可以在给定时间段后检查文件。 Step Function 可以在第一次上传文件时触发(即当上述 Lambda 函数只看到一个文件时)。

    【讨论】:

      猜你喜欢
      • 2019-02-26
      • 2015-04-30
      • 2021-11-21
      • 2019-07-17
      • 2015-10-06
      • 2016-02-19
      • 2019-11-02
      • 2019-08-06
      • 1970-01-01
      相关资源
      最近更新 更多