This snippet provides a concise example on how to upload a io.BytesIO()
object to
import boto3 # Create connection to 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' ) # Get bucket object boto_test_bucket = s3.Bucket('boto-test') # Create a test BytesIO we want to upload import io buf = io.BytesIO() buf.write(b"Hello S3 world!") # Reset read pointer. DOT NOT FORGET THIS, else all uploaded files will be empty! buf.seek(0) # Upload the file. "MyDirectory/test.txt" is the name of the object to create boto_test_bucket.upload_fileobj(buf, "MyDirectory/test.txt")
Don’t forget to fill in MY_ACCESS_KEY
and MY_SECRET_KEY
. Depending on what region and what S3-compatible service you use, you might need to use another endpoint URL at https://s3.eu-central-1.wasabisys.com
.
Also don’t forget
buf.seek(0)
or your uploaded files will be empty.