Amazon web services 从S3复制有限数量的文件?
我们使用S3存储桶来存储越来越多的小JSON文件(每个约1KB),其中包含一些与构建相关的数据。我们管道的一部分涉及从S3复制这些文件,并将它们放入内存以执行一些操作 该复制操作通过S3 cli工具命令完成,该命令如下所示:Amazon web services 从S3复制有限数量的文件?,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,我们使用S3存储桶来存储越来越多的小JSON文件(每个约1KB),其中包含一些与构建相关的数据。我们管道的一部分涉及从S3复制这些文件,并将它们放入内存以执行一些操作 该复制操作通过S3 cli工具命令完成,该命令如下所示: aws s3 cp s3://bucket path~/some/local/path/--recursive--profile dev profile 问题是S3上的json文件数量越来越大,因为每天都有更多的json文件被生成。因为文件太小,所以它的容量甚至比不上S3存
aws s3 cp s3://bucket path~/some/local/path/--recursive--profile dev profile
问题是S3上的json文件数量越来越大,因为每天都有更多的json文件被生成。因为文件太小,所以它的容量甚至比不上S3存储桶。然而,实际上,没有必要复制所有这些JSON文件。实际上,只要复制最近的100个左右,系统就安全了。但我们确实希望为了其他目的保留旧的
因此,我的问题归结为:是否有一种干净的方法可以从S3复制特定数量的文件(可能按最新版本排序)?我们是否可以在S3存储桶上设置某种修剪策略来删除超过X天或其他时间的文件
aws CLI中的
aws s3 sync
命令听起来非常适合您的需要
它将仅复制自上次同步以来新建或修改的文件。但是,这意味着目标需要保留“旧”文件的副本,以便不再复制它们
或者,您可以编写一个脚本(如Python),列出S3中的对象,然后只复制自上次运行复制以来添加的对象。aws CLI中的
aws S3 sync
命令听起来非常适合您的需要
它将仅复制自上次同步以来新建或修改的文件。但是,这意味着目标需要保留“旧”文件的副本,以便不再复制它们
或者,您可以编写一个脚本(例如Python),列出S3中的对象,然后只复制自上次运行复制以来添加的对象