pythonでS3にgzip形式でPUTする
PythonでS3にgzip形式でPUTする際は以下のようにすればいける。
Python 2.7.5
import boto3 from boto3.session import Session buff = '111,222,333' # output csv session = Session(aws_access_key_id=your_access_key_id, aws_secret_access_key=your_secret_access_key', ) bucket = "your-bucket" key = "{}.csv.gz".format("yyyy-mm-dd") io = StringIO() with GzipFile(fileobj=io, mode='wb') as f: f.write(buff) body = io.getvalue() s3 = session.resource('s3') s3.Bucket(bucket).put_object(Key=key, Body=body, ACL='public-read', ContentEncoding='gzip')