
Pythonで
・S3上の指定したバケット配下に
・ファイルを作成
できます!

この記事では
・プロファイルを指定した方法
紹介します!
※ローカルから実行します。Lambda関数からではなく。
前提
①外部ライブラリ「boto3」がインストールされていること。
pipコマンドでインストールする場合、以下でインストールできます
pip install boto3
②AWS CLIのプロファイルが設定済みであること。
コード
ここでは例として
・バケット「tmp12345」配下のフォルダ「sub1」配下に
・ファイル「file.txt」を作成
します。

from boto3.session import Session
from botocore.exceptions import ClientError
# プロファイル名
profile = "develop"
# バケット名
bucket = "tmp12345"
# フォルダ名とファイル名
key = "sub1/file.txt"
# ファイルに書き込むデータ
data = "Pythonから書き込みました!"
try:
session = Session(profile_name=profile)
s3_client = session.client(service_name="s3")
# S3上の指定したバケット配下に、ファイルを作成
s3_client.put_object(Bucket=bucket, Key=key, Body=data)
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上の指定したバケット配下に、ファイルを作成できました。


作成された「file.txt」をダウンロードして中身を確認すると、問題無く書き込みできていることを確認できます。

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