如何使用 boto3 将 BytesIO 上传到 Wasabi / S3
此代码片段提供如何将 io.BytesIO() 对象上传到的简洁示例
example-2.py
# 创建到 Wasabi / S3 的连接
s3 = boto3.resource('s3',
endpoint_url = 'https://s3.eu-central-1.wasabisys.com',
aws_access_key_id = 'MY_ACCESS_KEY',
aws_secret_access_key = 'MY_SECRET_KEY'
)
# 获取 bucket 对象
boto_test_bucket = s3.Bucket('boto-test')
# 创建要上传的测试 BytesIO
import io
buf = io.BytesIO()
buf.write(b"Hello S3 world!")
# 重置读取指针。不要忘记此步骤,否则所有上传的文件将为空!
buf.seek(0)
# 上传文件。"MyDirectory/test.txt" 是要创建的对象名称
boto_test_bucket.upload_fileobj(buf, "MyDirectory/test.txt")不要忘记填写 MY_ACCESS_KEY 和 MY_SECRET_KEY。根据你使用的区域和 S3 兼容服务,你可能需要使用其他端点 URL 而不是 https://s3.eu-central-1.wasabisys.com。
也不要忘记
example-1.py
否则你上传的文件将为空。
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow