現在、pythonからAWS S3に配置してあるファイルをパス指定で取得しようとしています。
現在のコードは下記です。
python
1s3 = boto3.resource('s3', verify=False) 2bucket = s3.Bucket('hoge-bucket') 3 4print(bucket.objects.filter(Prefix="s3://hoge-bucket/1.png"))
print出力結果は下記です
s3.Bucket.objectsCollection(s3.Bucket(name='hoge-bucket'), s3.ObjectSummary)
なんだか取得できているような気はするのですが、下記サイトを参考にfor文を記載しても、for文の中に入ってくれません。
pythonでboto3を使用してファイルパスを指定してs3からファイルをダウンロードする方法
python
1for s3_file in bucket.objects.filter(Prefix="s3://hoge-bucket/1.png"): 2 # このfor文の中に入らない 3 file_object = s3_file.key
prefixにしているパスは、S3の「コピーパス」からクリップボードにコピーしたものをそのまま貼り付けています。
やったこと
パスではなく、ファイル名を指定したダウンロードは問題なくできました。
このコードを応用することでパスを指定した1.pngのダウンロードも出来るのでしょうか・・・
python
1s3.Object('hoge-bucket', "1.png").download_file('1.png')
お時間ある方で、S3からパスを指定したファイルの取得方法をご存じの方いらっしゃいましたらご助力頂けますと幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。