web-dev-qa-db-fra.com

Comment créer une URL présignée pour télécharger un fichier à partir d'un godet S3 à l'aide de Boto3?

Je dois télécharger un fichier de mon S3 bucket sur mon serveur pour un certain traitement. Le godet ne supporte pas les connexions directes et doit utiliser un Pre-Signed URL.


Les Boto3 Docs Parlez de l'utilisation d'une URL préignée pour télécharger, mais ne mentionne pas la même chose pour le téléchargement.

3
Varun Shridhar
import boto3

s3_client = boto3.client('s3')

BUCKET = 'my-bucket'
OBJECT = 'foo.jpg'

url = s3_client.generate_presigned_url(
    'get_object',
    Params={'Bucket': BUCKET, 'Key': OBJECT},
    ExpiresIn=300)

print(url)

Pour un autre exemple, voir: RL présigné - Documentation Boto

Vous pouvez également générer une URL pré-signée à l'aide de l'AWS CLI:

aws s3 presign s3://my-bucket/foo.jpg --expires-in 300

Voir: Préign - Référence de commande AWS CLI

4
John Rotenstein