Ich sehe eine Prozedur zum Hochladen einer lokal gespeicherten Bilddatei in S3, aber wie der Titel schon sagt, zielt dieser Artikel darauf ab, das heruntergeladene Bild direkt hochzuladen, ohne es in einer Datei zu speichern.
Durch Übergeben der von "request.get" erhaltenen Binärdaten an "io.BytesIO" werden diese als Dateiobjekt behandelt.
import requests
import io
import boto3
#Bild herunterladen
res = requests.get('Bild URL')
res.raise_for_status()
#Konvertieren Sie die erfassten Binärdaten in ein Dateiobjekt
img = io.BytesIO(res.content)
#Auf S3 hochladen
s3 = boto3.client('s3')
s3.upload_fileobj(img, 'bucket_name', 's3/path')
Recommended Posts