【问题标题】:AWS SNS trigger when 3 objects are loaded into S3将 3 个对象加载到 S3 时触发 AWS SNS
【发布时间】:2020-01-19 12:10:12
【问题描述】:

我有一个客户端每周将 3 个 CSV 文件的数据上传到 S3 存储桶,彼此之间总是(最多)5 分钟。我有 python 代码摄取 3 个文件,聚合它们,写入和输出,我想用它来创建一个 lambda 函数来完全自动化这项工作。问题是我无法配置每 3 个对象创建的 S3 触发器。我可以让 lambda 触发每次上传并退出,直到 3 个文件都在那里,但我不想这样做,因为它并不真正具有成本效益。

所以我遇到了这个问题here,它建议有一个 SNS 主题,在完成一批上传后会收到通知,但是我无法弄清楚如何配置它。基本上我想做的是创建类似于 CloudWatch 警报的东西,当 3 个对象 PUTS 彼此在 5 分钟内发生时触发。这可能吗?或者,我如何以链接问题中建议的方式配置我的 SNS 事件?

【问题讨论】:

  • 在 lambda 中添加等待时间怎么样??
  • 最初的问题是我希望它每 3 个文件触发一次。等待时间并不能解决这个问题。我已经在生产环境中运行每个文件执行 10 个月了

标签: amazon-web-services amazon-s3 aws-lambda amazon-sns


【解决方案1】:

我认为您误读了您链接的帖子中的答案。 SNS 选项实际上是某人在将一批文件推送到 S3 后发送一条 SNS 消息。因此,发件人需要更新他们的流程以包含一个新的 SNS 消息步骤。

该问题/答案中的选项 3 是关于使用 S3 触发器以自动方式处理此问题,除了上传文件之外,发送者无需执行任何额外步骤,但它也更加复杂,因为它涉及使用 DynamoDB 表使用原子计数器确保文件不会被多次处理。

我想指出,您对为每个 S3 对象触发 Lambda 函数的成本效益的担忧将是每月几便士,甚至可能更少。

【讨论】:

  • 你说得对,我看错了。感谢您指出这一点,我想我每次都会触发它。
  • 在 lambda 中添加等待时间怎么样??
猜你喜欢
  • 2018-06-25
  • 1970-01-01
  • 2018-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-24
  • 2018-11-14
  • 2021-10-18
相关资源
最近更新 更多