boto3 verwenden, um BytesIO zu Wasabi / S3 in Python hochzuladen

English Deutsch

Dieser Codeausschnitt bietet ein kurzes Beispiel, wie man ein io.BytesIO()-Objekt hochlädt zu

example-2.py

# Verbindung zu Wasabi / S3 herstellen
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-Objekt abrufen
boto_test_bucket = s3.Bucket('boto-test')

# Test-BytesIO erstellen, das hochgeladen werden soll
import io
buf = io.BytesIO()
buf.write(b"Hello S3 world!")

# Leseposition zurücksetzen. NICHT VERGESSEN, sonst sind alle hochgeladenen Dateien leer!
buf.seek(0)

# Datei hochladen. "MyDirectory/test.txt" ist der Name des zu erstellenden Objekts
boto_test_bucket.upload_fileobj(buf, "MyDirectory/test.txt")

Nicht vergessen, MY_ACCESS_KEY und MY_SECRET_KEY auszufüllen. Je nach Region und S3-kompatiblem Dienst muss möglicherweise eine andere Endpoint-URL anstelle von https://s3.eu-central-1.wasabisys.com verwendet werden.

Auch nicht vergessen

example-1.py

sonst sind die hochgeladenen Dateien leer.


Check out similar posts by category: Python, S3