python 経由で s3 にファイルをアップロードしたくなる場合がある。
本記事はその際のメモ。
import boto3
# 書き込み先バケット
BUCKET = 'output-bucket'
INPUT= 'hoge.csv'
OUTPUT = 'hoge.csv'
# OUTPUT = 'DIR/DIR/hoge.csv'
s3 = boto3.resource('s3')
s3.Bucket(BUCKET).upload_file(Filename=INPUT, Key=OUTPUT)
ポイントとして、書き込み先の s3 のディレクトリに対し書き込むとき、存在しないディレクトリを対象にすると、存在しないディレクトリは一緒に作られる。これは、そもそも s3 にディレクトリという考えがないためである。
それについては以下の記事を参照