python3.4 + boto3でs3からファイルを取ってくる

python3.4を使っていて、s3のファイルをゴニョゴニョする機会が最近多い。
s3からデータ取ってくる方法。s3にデータアップロードする方法。
簡単だけどよく忘れるよね。boto3のclientかresourceかで頻繁に迷ってしまいます。
書き溜めとしてs3から取ってくる周りのゴニョゴニョを残しておきます。

広告

boto3.client と boto3.resourceでS3のファイルをダウンロードする

boto3を使用してS3から指定したファイルをダウンロードします。
boto3.clientとboto3.resourceの両方を使用します。

基本コード

ダウンロード部分はresourceで
ファイル存在チェックではclientを使う感じ。

でもこれだと
ファイルが存在しないものを引数で渡しちゃうとエラー起こす。

エラーハンドリング

先にファイルの存在チェックをしとこう。

完成形

くっつけてこんな感じ

S3からファイルを取ってくる部分はこれでオッケー。
ファイル内のデータ一覧を取得するとかもあるけどまた今度で(s3_client.list_objectsだけど)

シェルスクリプトでファイルを取得したい人は過去記事をどうぞ

シェルスクリプトでCentOS7からS3にファイルをアップロードする



じゃあね〜〜〜〜。