检测 Amazon S3 变化的最有效方法是什么?许多分布式盒子需要与 S3 同步本地文件。每个盒子都需要与 S3 存储桶的一部分同步。有时文件会从外部来源放入存储桶中,因此这些盒子不会知道它。
我可以编写一个脚本,不断爬取 S3 上的所有文件,并在发生更改时通知相应的框,但这会很慢而且成本很高。(将有数百万个文件)。我考虑过在存储桶上启用日志记录,但是写入日志需要很长时间,而且我希望能很快收到更改通知。
还有其他想法吗?
检测 Amazon S3 变化的最有效方法是什么?许多分布式盒子需要与 S3 同步本地文件。每个盒子都需要与 S3 存储桶的一部分同步。有时文件会从外部来源放入存储桶中,因此这些盒子不会知道它。
我可以编写一个脚本,不断爬取 S3 上的所有文件,并在发生更改时通知相应的框,但这会很慢而且成本很高。(将有数百万个文件)。我考虑过在存储桶上启用日志记录,但是写入日志需要很长时间,而且我希望能很快收到更改通知。
还有其他想法吗?
Amazon 提供了一种通知存储桶事件的方法(如此处所示),但目前唯一支持的事件是s3:ReducedRedundancyLostObject。
恐怕今天您可以做您想做的唯一方法是通过轮询(或像您说的那样爬行)或修改将文件上传到您的存储桶的客户端(如果您可以控制他们的代码)为了在上传/更改内容时通知您的盒子。