s3 バケットから最新のファイルをダウンロードする boto python スクリプトを作成するのが好きです。たとえば、s3 バケットに 100 個のファイルがあり、最近アップロードされたファイルをダウンロードする必要があります。
python boto を使用して S3 から最近変更されたファイルをダウンロードする方法はありますか。
バケット内のすべてのファイルを一覧表示し、最新のファイルを見つけることができます(last_modified属性を使用)。
>>> import boto
>>> c = boto.connect_s3()
>>> bucket = c.lookup('mybucketname')
>>> l = [(k.last_modified, k) for k in bucket]
>>> key_to_download = sorted(l, cmp=lambda x,y: cmp(x[0], y[0]))[-1][1]
>>> key_to_download.get_contents_to_filename('myfile')
ただし、バケットに大量のファイルがある場合、これは非常に非効率的であることに注意してください。その場合は、データベースを使用してファイルと日付を追跡し、クエリをより効率的にすることを検討してください。