【问题标题】:Poll periodically for new files in AWS S3 buckets having a lot of file?定期轮询具有大量文件的 AWS S3 存储桶中的新文件?
【发布时间】:2016-07-05 08:12:59
【问题描述】:

我遇到需要轮询 AWS S3 存储桶以获取新文件的情况。 此外,它不仅仅是一个桶。大约有 1000 多个存储桶,这些存储桶可能有很多文件。 这种用例的常用策略/设计是什么。我需要在每次民意调查中使用新文件。我无法从存储桶中删除文件。

【问题讨论】:

  • 您能否提供有关您的用例的更多信息?也就是说,为什么需要这样做?可能有更好的替代方法来实现您的目标。

标签: amazon-web-services amazon-s3


【解决方案1】:

您应该订阅 S3 事件通知,而不是轮询:http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html

这些可以传送到 SNS 主题、SQS 队列或触发 Lambda 函数。

【讨论】:

    【解决方案2】:

    嗯,为了最好地回答这个问题,我们需要知道什么样的应用程序/架构正在执行轮询和消费,但是“AWS”的方法是让 S3 在创建时发送 S3 通知每个文件的。 S3 通知包含对 S3 文件的引用,可以发送到 SNS 或 SQS 甚至更好的 Lambda,然后触发应用程序启动、使用文件然后关闭。

    现在,如果您要拥有大量文件,所有这些 SNS/SQS 通知可能会变得昂贵,有些人可能会开始考虑使用 S3 SDK/CLI 持续轮询 S3,但是您需要保持请注意,还有与轮询相关的成本,您应该寻找减少文件数量的方法。例如,如果您使用 Kinesis Firehose 转储到 S3,请查看批处理。或者您可以批量处理 SQS。尽量坚持使用事件通知,它更有弹性。

    【讨论】:

      猜你喜欢
      • 2020-05-20
      • 1970-01-01
      • 2017-09-17
      • 1970-01-01
      • 2016-10-29
      • 1970-01-01
      • 2016-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多