2012-04-27 67 views
4

可能重复:
Notification of new S3 objects
Get notified when user uploads to an S3 bucket?如何检测Amazon S3中的更改?

什么是检测亚马逊S3变化的最有效的方法?许多分布式盒子需要将本地文件与S3同步。每个盒子需要与S3桶的一部分同步。有时候,文件会从外部来源放入一个桶中,因此这些框不会知道它。

我可以编写一个脚本,不断检索S3上的所有文件,并在发生更改时通知相应的框,但这会很慢并且代价很高。 (将有数百万个文件)。我想过在存储桶上启用日志记录,但日志需要很长时间才能写入,而且我希望能够很快得到有关更改的通知。

还有其他想法吗?

+6

加入我们的其他人,请求Amazon在S3存储桶中的密钥更改时添加SNS通知。他们确实倾听客户的意见,如果足够多的人大声喊叫...... – 2012-04-27 23:47:23

+1

因此,您访问S3存储区的权限不受您的代码控制?任何人都可以使用任何客户端将文件放到任何地方我会首先解决... – GalacticJello 2012-04-28 05:31:34

回答

0

亚马逊提供通知存储桶事件的方法(如所示here),但目前支持的唯一事件是s3:ReducedRedundancyLostObject

恐怕你今天只能通过轮询(或爬行,就像你说的)或者修改上传文件到客户端的客户端(如果你在控制中)的代码),以便在上传/更改任何东西时通知您的方框。