Je vois la procédure pour télécharger un fichier image enregistré localement sur S3, mais comme le titre l'indique, cet article vise à télécharger l'image téléchargée directement sans l'enregistrer dans un fichier.
En passant les données binaires obtenues par requests.get
à ʻio.BytesIO`, elles seront traitées comme un objet fichier.
import requests
import io
import boto3
#Télécharger l'image
res = requests.get('URL de l'image')
res.raise_for_status()
#Convertir les données binaires acquises en un objet fichier
img = io.BytesIO(res.content)
#Télécharger vers S3
s3 = boto3.client('s3')
s3.upload_fileobj(img, 'bucket_name', 's3/path')
Recommended Posts