
Pythonで
・S3上の指定したバケット配下に
・ファイルをアップロード
できます!

この記事では
・プロファイルを指定した方法
紹介します!
※ローカルから実行します。Lambda関数からではなく。
前提
①外部ライブラリ「boto3」がインストールされていること。
pipコマンドでインストールする場合、以下でインストールできます
pip install boto3
②AWS CLIのプロファイルが設定済みであること。
コード
ここでは例として
・デスクトップ配下にあるファイル「file_001.txt」を
・バケット「tmp12345」配下のフォルダ「sub1/sample」配下にアップロード
します。
from boto3.session import Session
from botocore.exceptions import ClientError
# プロファイル名
profile = "develop"
# アップロードするファイル
upload_file = r"C:\Users\lunch\Desktop\file_001.txt"
# バケット名
bucket = "tmp12345"
# キー名(アップロード先のS3のファイルパス)
key = "sub1/sample/file_001.txt"
try:
session = Session(profile_name=profile)
s3_client = session.client(service_name="s3")
# S3上にファイルをアップロード
s3_client.upload_file(upload_file, bucket, key)
print("S3上にファイルをアップロードしました。")
except ClientError as e:
print("エラーが発生しました。")
print("エラーコード:" + e.response["Error"]["Code"])
print("エラーメッセージ:" + e.response["Error"]["Message"])
except Exception as e:
print("エラーが発生しました。")
print(e)
実行結果
S3上の指定したバケット配下に、ファイルをアップロードできました。


参考
上記のコードは以下の公式サイトを参考にして作成しました。