我的s3存储桶中有很多文件,因此是否可以使用aws cli命令在s3中查找带有前缀名称的最新文件?以及如何将文件从s3复制到本地文件夹?我可以使用Boto3或python库执行此操作吗?
这是在Python中执行此操作的示例:
import boto3
s3_client = boto3.client('s3')
response = s3_client.list_objects_v2(Bucket='MY-BUCKET', Prefix='foo/')
objects = sorted(response['Contents'], key=lambda obj: obj['LastModified'])
## Latest object
latest_object = objects[-1]['Key']
filename = latest_object[latest_object.rfind('/')+1:] # Remove path
# Download it to current directory
s3_client.download_file('MY-BUCKET', latest_object, filename)
基本上,您将获得所有对象,然后按对其进行排序LastModified
。
请注意,该list_objects_v2()
命令最多只能返回1000个对象。如果存储桶中有更多存储桶,则需要循环或使用分页器。请参阅:分页器— Boto3文档
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句