

現在非常にもどかしい状態になっているので、どうかお力添えを頂けましたら幸いです。

S3にある複数のオブジェクトをpythonのboto3を使用してダウンロードしようとしています。  
その際にオブジェクトをワイルドカードを使用してダウンロードしたいのですができません。

AWS CLIであれば下記コマンドで実現できる処理です。

[code]

    aws s3 cp 
    　--recursive \
      --exclude '*' \
      --include 'オブジェクト名（ワイルドカードを記載）' \   # test*.csvのような形で記載しています。
      s3://バケット名/フォルダ名 .
    
[/code]

pythonを使用してLambdaで動かしたいのですが、最悪できなかったらbashでやろうかと思っています。

boto3を使用したファイルダウンロードは下記の書き方だとファイル一つであればダウンロードができることを確認できています。  
※aws configureは設定できています。

[code]

    import boto3
    
    s3 = boto3.resource('s3')
    s3.Bucket('オブジェクト名').download_file('フォルダ名/オブジェクト名', 'ダウンロード先パス')
    
[/code]

boto3の参照ドキュメント  
<https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html?highlight=s3%20download#S3.Bucket.download_file>

ググり倒した結果  
↓でいける！と思ったのですが、osライブラリ等あまりわかっておらず、pythonのコードをどこをどう弄ったら良いのかわからず、現在すこしめげております。

[S3 バケットから複数のファイルを一括でコピーする](https://www.saintsouth.net/blog/how-to-copy-multi-
files-from-s3/)

もしpythonがお得意で解決方法等わかる方いればご教示いただけますと幸いです。


CC BY-SA 4.0
2021-03-11T09:16:08.553
74588
2021-03-11T11:25:32.683
2021-03-11T11:25:32.683
3060
44288
question
python amazon-s3 boto3
python boto3を使用してaws s3のオブジェクトを一括ダウンロードしたい