首页 > 解决方案 > 将数据上传到 S3 存储桶而不将其保存到磁盘

问题描述

还有boto3一种方法upload_file(Filename='path')是使用Filename参数从磁盘中读取文件并上传到bucket。是否可以上传数据而不将其保存到磁盘?

标签: pythonamazon-web-servicesioboto3write

解决方案


保存文本文件:

obj = 'some string'
bucket = 'my-bucket'
key = 'prefix/filename.txt'

boto3.client('s3').put_object(Body=obj, Bucket=bucket, Key=key)

从 pandas 数据框中保存 csv 文件:

df = my-dataframe
bucket = 'my-bucket'
key = 'prefix/filename.csv'

csv_buffer = io.StringIO()
df.to_csv(csv_buffer)
boto3.client('s3').put_object(Body=csv_buffer.getvalue(), Bucket=bucket, Key=key)

推荐阅读