ITコンサルティングのご相談はこちらへ ※外部サイトに飛びます

boto3 + S3 + Heroku / S3のCSVファイルデータを読みjsonで出力する

  • 2020.05.09
  • AWS
boto3 + S3 + Heroku / S3のCSVファイルデータを読みjsonで出力する

herokuはファイルを保存する事ができないので、
メモリで読み込んでそれを出力するしかありません
いろいろ調べて見ても該当する記事なかったんで自分で作って見ました

byteデータを作ってその後デコードでstringにして、そのあとはcsvとしてデータを扱えるようにしてます
jsonで送るためにarrayでまとめていますが、中で処理するなら

こんな感じでかけばなんかしらできます
※ 上記のreaderに関するコードは検証していないので動くかわからないです。動かないなら自分で直してください

ちなみにboto3使うの今回が初めてだったのですが、
思ったよりも簡単にまとめれるし、
Herokuで使う場合でもデータ引っ張ってきて、それを返してあげるとかもできるのでかなり重宝できそうですね

参考記事

More complex APIs: Upload and Download Files with Flask
Boto 3 Documentation
Listing contents of a bucket with boto3
Python AWS Boto3: How do i read files from S3 Bucket?
Boto3 で S3 のオブジェクトを操作する(高レベルAPIと低レベルAPI)
Google Cloud Visionを使ってみようとしたときの「TypeError: Object of type ‘bytes’ is not JSON serializable」
Python csv string to array

AWSカテゴリの最新記事