我可以访问S3存储桶。我不拥有这个桶。我需要检查是否有新文件添加到存储桶中,以便对其进行监视。如何使用boto使用python监控AWS S3存储桶?
我看到桶可以触发事件,并且可以利用Amazon的Lambda来监视和响应这些事件。但是,我无法修改存储桶的设置以允许此设置。
我的第一个想法是筛选所有文件并获得最新的文件。但是,该存储桶中有很多文件,这种方法证明效率很低。
具体问题:
- 有没有一种方法能够有效地获得在桶中最新的文件?
- 有没有一种方法可以监视使用boto上传到存储桶?
以下具体问题:
- 你会如何解决这个问题?假设你必须把最新的文件放在一个桶里并打印出它的名字,你会怎么做?
谢谢!
你好。感谢你的回答!我做了类似于你的建议/我最初的想法。在while循环中,我得到项目列表,按日期排序并提取第一个项目。我也保留最后一个新文件。如果当前最新的文件与最新的最新文件不同,这是一个新文件,所以我会做这件事。尽管如此,我认为这种方法根本不算优雅,但需要近半分钟的时间才能订购桶中的所有物品。迭代一次找到最新的也没有太大的改进。 – RandomGuyqwert
是的,有更好的方法(Lambda,SQS,SNS,或者甚至将信息存储在DynamoDB表中),但它们都需要对存储桶本身进行权限。只有读权限,只有有限的选项。 –