このスクリプトは、S3バケット内のすべてのファイルのlast_modified属性を取り出し、ソートして最新のファイルをダウンロードします。しかし、すでにかなり時間がかかり、パフォーマンスを向上させる方法があるのかどうか疑問に思っていました。この配列をより効率的にソートする方法はありますか?
import boto3
s3 = boto3.resource('s3')
bucket = s3.Bucket(name='mytestbucket')
allobjects = bucket.objects.filter()
a=[]
for obj in allobjects:
a.append(obj.last_modified)
a.sort()
b = a[-1]
for obj in allobjects:
if obj.last_modified == b:
c = obj.key
s3.Bucket('mytestbucket22').download_file(c, 'c:\latest.csv')
可能であればアルファベット順を変更順にすることがありますか?そうすれば、あなたは単に '.limit(1)'を使うことができます。 https://stackoverflow.com/a/7974123/707111 – Ryan