我需要将文件从S3存储桶中的许多子目录复制到我的本地计算机。文件名是自动生成的,如果不先使用ls
就很难获得,但我知道目标文件总是按照日期创建顺序在子文件夹中的第二个文件。
有没有办法通过索引来引用s3存储桶子文件夹中的文件?
我正在设想用aws cli来做这件事,尽管我对其他建议持开放态度。
发布于 2016-10-30 04:10:29
我不知道在S3中有什么方法可以列出第二个最旧的对象,而不是列出位于给定前缀的所有对象,然后按日期对该列表进行显式排序。如果你需要这样做,那么这里有一些想法:
选项#2可能是最好的,因为它简单、快速和灵活(如果随着时间的推移,你的应用程序不断变化,你会发现你还需要知道第四个最老的对象,或者第二个最新的对象)。
发布于 2016-10-30 12:09:26
您可以使用此方法获取给定存储桶/路径中的第二个文件的名称:
aws s3api list-objects-v2 --bucket BUCKET-NAME --query 'Contents[1].Key' --output text
这也适用于BUCKET-NAME/PATH
。
但是,您提到您有许多子目录,因此如果您希望避免执行完整的存储桶列表,则必须知道所有这些子目录的名称。
https://stackoverflow.com/questions/40322900
复制相似问题