Téléchargement d’objets
Cette section explique comment télécharger des objets depuis un compartiment Amazon S3. Avec Amazon S3, vous pouvez stocker des objets dans un ou plusieurs compartiments, et chaque objet peut atteindre une taille de 5 To. Tout objet Amazon S3 non archivé est accessible en temps réel. Les objets archivés doivent toutefois être restaurés avant de pouvoir être téléchargés. Pour obtenir des informations sur le téléchargement des objets archivés, consultez Téléchargement des objets archivés.
Vous pouvez télécharger un seul objet à l’aide de la console Amazon S3, AWS Command Line Interface (AWS CLI), des kits AWS SDK ou de l’API REST Amazon S3. Pour télécharger un objet depuis S3 sans écrire de code ni exécuter aucune commande, utilisez la console S3. Pour plus d’informations, consultez Téléchargement d’un objet.
Pour télécharger plusieurs objets, utilisez AWS CloudShell, l’interface AWS CLI ou les kits AWS SDK. Pour plus d’informations, consultez Téléchargement de plusieurs objets.
Si vous devez télécharger une partie d’un objet, vous devez utiliser des paramètres supplémentaires avec l’interface AWS CLI ou l’API REST pour spécifier uniquement les octets que vous souhaitez télécharger. Pour plus d’informations, consultez Téléchargement d’une partie d’un objet.
Si vous devez télécharger un objet qui ne vous appartient pas, demandez à son propriétaire de générer une URL présignée qui vous permettra de télécharger l’objet. Pour plus d’informations, consultez Téléchargement d’un objet à partir d’un autre Compte AWS.
Lorsque vous téléchargez des objets en dehors du réseau AWS, des frais de transfert de données s’appliquent. Le transfert de données au sein du réseau AWS est gratuit au sein de la même Région AWS, mais toute demande GET vous sera facturée. Pour plus d’informations sur les coûts de transfert de données et les frais de récupération de données, consultez Tarification Amazon S3
Rubriques
Téléchargement d’un objet
Vous pouvez télécharger un objet à l’aide de la console Amazon S3, de l’interface AWS CLI, des kits AWS SDK ou de l’API REST.
Cette section explique comment utiliser la console Amazon S3 pour télécharger un objet depuis un compartiment S3.
Note
-
Vous ne pouvez télécharger qu’un seul objet à la fois.
-
Si vous utilisez la console Amazon S3 pour télécharger un objet dont le nom de clé se termine par un point (
.), celui-ci est supprimé du nom de clé de l’objet téléchargé. Pour conserver le point à la fin du nom de l’objet téléchargé, vous devez utiliser l’AWS Command Line Interface (AWS CLI), les kits AWS SDK ou l’API REST Amazon S3.
Pour télécharger un objet à partir d’un compartiment S3
-
Connectez-vous à la AWS Management Console et ouvrez la console Amazon S3 à l’adresse https://console.aws.amazon.com/s3/
. -
Dans le volet de navigation de gauche, choisissez Compartiments à usage général ou Compartiments de répertoires.
-
Dans la liste des compartiments, choisissez le nom du compartiment à partir duquel vous souhaitez télécharger un objet.
-
Vous pouvez télécharger un objet à partir d’un compartiment S3 de l’une des façons suivantes :
-
Cochez la case à côté de l’objet et choisissez Télécharger. Si vous souhaitez télécharger l’objet dans un dossier spécifique, dans le menu Actions, choisissez Télécharger en tant que.
-
Si vous souhaitez télécharger une version spécifique de l’objet, activez Afficher les versions (en regard de la zone de recherche). Cochez la case à côté de la version de l’objet de votre choix, puis choisissez Télécharger. Si vous souhaitez télécharger l’objet dans un dossier spécifique, dans le menu Actions, choisissez Télécharger en tant que.
-
L’exemple de commande get-object suivant montre comment utiliser l’interface AWS CLI pour télécharger un objet depuis Amazon S3. Cette commande récupère l’objet à partir du compartiment folder/my_image. Vous devez inclure un amzn-s3-demo-bucket1outfile, qui est le nom de fichier de l’objet téléchargé, par exemple .my_downloaded_image.jpg
aws s3api get-object --bucket--keyamzn-s3-demo-bucket1folder/my_imagemy_downloaded_image.jpg
Pour plus d’informations et des exemples, consultez get-object
Pour obtenir des exemples de téléchargement d’un objet avec les kits AWS SDK, consultez les exemples de code dans la Référence des API Amazon S3.
Pour obtenir des informations générales sur l’utilisation des différents kits AWS SDK, consultez Développement avec Amazon S3 à l’aide des kits AWS SDK dans la Référence des API Amazon S3.
Vous pouvez utiliser l’API REST pour récupérer des objets depuis Amazon S3. Pour plus d’informations, veuillez consulter GetObject dans la Référence des API Amazon Simple Storage Service.
Téléchargement de plusieurs objets
Vous pouvez télécharger plusieurs objets en utilisant AWS CloudShell, l’interface AWS CLI ou les kits AWS SDK.
AWS CloudShell est un shell préauthentifié, basé sur un navigateur, que vous pouvez lancer directement à partir de AWS Management Console.
Pour plus d’informations sur AWS CloudShell, consultez Qu’est-ce que CloudShell ? dans le Guide de l’utilisateur AWS CloudShell.
Important
Avec AWS CloudShell, votre répertoire de base dispose d’un espace de stockage allant jusqu’à 1 Go par Région AWS. Par conséquent, vous ne pouvez pas synchroniser les compartiments avec des objets dont le total est supérieur à ce montant. Pour plus de restrictions, consultez Quotas et restrictions des services dans le Guide de l’utilisateur AWS CloudShell.
Pour télécharger des objets en utilisant AWS CloudShell
-
Connectez-vous à la AWS Management Console et ouvrez la console CloudShell à l’adresse https://console.aws.amazon.com/cloudshell/
. -
Exécutez la commande suivante pour synchroniser les objets de votre compartiment avec CloudShell. La commande suivante synchronise les objets depuis le compartiment nommé
et crée un dossier nomméamzn-s3-demo-bucket1dans CloudShell. CloudShell synchronise vos objets avec ce dossier. Pour utiliser cette commande, remplaceztemppar vos propres informations.user input placeholdersaws s3 sync s3://amzn-s3-demo-bucket1./tempNote
La commande
syncn’est pas compatible avec les compartiments de répertoires.Pour effectuer une correspondance de modèles afin d’exclure ou d’inclure des objets particuliers, vous pouvez utiliser les paramètres
--exclude "etvalue"--include "avec la commandevalue"sync. -
Exécutez la commande suivante pour compresser vos objets dans le dossier nommé
dans un fichier nommétemp.temp.zipziptemp.zip-rtemp/ -
Choisissez Actions, puis choisissez Télécharger un fichier.
-
Entrez le nom de fichier
, puis choisissez Télécharger.temp.zip -
(Facultatif) Supprimez le fichier
et les objets synchronisés avec le dossiertemp.zipdans CloudShell. Avec AWS CloudShell, vous disposez d’un stockage persistant allant jusqu’à 1 Go pour chaque Région AWS.tempVous pouvez utiliser l’exemple de commande suivant pour supprimer votre fichier
.zipet votre dossier. Pour utiliser cet exemple de commande, remplacezpar vos propres informations.user input placeholdersrmtemp.zip&& rm -rftemp/
L’exemple suivant montre comment utiliser l’interface AWS CLI pour télécharger tous les fichiers ou objets sous le répertoire ou le préfixe spécifié. Cette commande copie tous les objets du compartiment vers votre répertoire actuel. Pour utiliser cet exemple de commande, utilisez le nom de votre compartiment à la place de amzn-s3-demo-bucket1. amzn-s3-demo-bucket1
aws s3 cp s3://amzn-s3-demo-bucket1. --recursive
La commande suivante télécharge tous les objets situés sous le préfixe du compartiment logs dans votre répertoire actuel. Elle utilise également les paramètres amzn-s3-demo-bucket1--exclude et --include pour copier uniquement les objets dotés du suffixe . Pour utiliser cet exemple de commande, remplacez .log par vos propres informations.user input placeholders
aws s3 cp s3://amzn-s3-demo-bucket1/logs/ . --recursive --exclude "*" --include "*.log"
Pour plus d’informations et des exemples, consultez cp
Pour obtenir des exemples de téléchargement de tous les objets d’un compartiment Amazon S3 avec les kits AWS SDK, consultez les exemples de code dans la Référence des API Amazon S3.
Pour obtenir des informations générales sur l’utilisation des différents kits AWS SDK, consultez Développement avec Amazon S3 à l’aide des kits AWS SDK dans la Référence des API Amazon S3.
Téléchargement d’une partie d’un objet
Vous pouvez télécharger une partie d’un objet à l’aide de l’interface AWS CLI ou de l’API REST. Pour ce faire, vous devez utiliser des paramètres supplémentaires pour spécifier la partie d’un objet que vous souhaitez télécharger.
L’exemple de commande suivant exécute une demande GET pour obtenir une plage d’octets dans l’objet nommé dans le compartiment nommé folder/my_data. Dans cette demande, la plage d’octets doit être préfixée par amzn-s3-demo-bucket1bytes=. L’objet partiel est téléchargé dans le fichier de sortie nommé . Pour utiliser cet exemple de commande, remplacez my_data_range par vos propres informations.user input placeholders
aws s3api get-object --bucketamzn-s3-demo-bucket1--keyfolder/my_data--range bytes=0-500my_data_range
Pour plus d’informations et des exemples, consultez get-object
Pour plus d’informations sur l’en-tête HTTP Range, consultez RFC 9110
Note
Amazon S3 ne prend pas en charge la récupération de plusieurs plages de données dans une demande GET individuelle.
Vous pouvez utiliser les paramètres partNumber et Range de l’API REST pour récupérer des parties d’objet depuis Amazon S3. Pour plus d’informations, veuillez consulter GetObject dans la Référence des API Amazon Simple Storage Service.
Téléchargement d’un objet à partir d’un autre Compte AWS
Vous pouvez utiliser une URL présignée pour accorder aux autres un accès limité dans le temps à vos objets sans mettre à jour votre stratégie de compartiment.
L’URL présignée peut être saisie dans un navigateur ou utilisée par un programme pour télécharger un objet. Les informations d’identification utilisées par l’URL sont celles de l’utilisateur AWS qui a généré l’URL. Une fois l’URL créée, toute personne disposant de l’URL présignée peut télécharger l’objet correspondant jusqu’à ce que l’URL expire.
Vous pouvez utiliser la console Amazon S3 pour générer une URL présignée afin de partager un objet d’un compartiment à usage général en suivant ces étapes. Dans la console, le délai d’expiration maximal d’une URL présignée est de 12 heures à compter de la création.
Pour générer une URL présignée à l’aide de la console Amazon S3
Connectez-vous à la AWS Management Console et ouvrez la console Amazon S3 à l’adresse https://console.aws.amazon.com/s3/
. -
Dans le volet de navigation de gauche, choisissez Compartiments à usage général.
-
Dans la liste des compartiments, choisissez le nom du compartiment qui contient l’objet pour lequel vous souhaitez une URL présignée.
-
Dans la liste Objects (Objets), sélectionnez l’objet pour lequel vous souhaitez créer une URL présignée.
-
Dans le menu Actions d’objet, choisissez Partager avec une URL présignée.
-
Spécifiez la durée de validité souhaitée pour l’URL présignée.
-
Choisissez Create presigned URL (Créer une URL présignée).
-
Lorsqu’un message de confirmation apparaît, l’URL est automatiquement copiée dans votre presse-papier. Un bouton s’affiche pour copier l’URL présignée, si vous devez la copier à nouveau.
-
Pour télécharger l’objet, collez l’URL dans n’importe quel navigateur et l’objet tentera de se télécharger.
Pour plus d’informations sur les URL présignées et les autres méthodes permettant de les créer, consultez Téléchargement et chargement d’objets à l’aide d’URL présignées.
Téléchargement des objets archivés
Pour réduire vos coûts de stockage pour les objets rarement consultés, vous pouvez archiver ces objets. Lorsque vous archivez un objet, il est placé dans un espace de stockage à faible coût, ce qui signifie que vous ne pouvez pas y accéder en temps réel. Pour télécharger un objet archivé, vous devez d’abord le restaurer.
Vous pouvez restaurer les objets archivés en quelques minutes ou quelques heures, selon la classe de stockage. Vous pouvez restaurer un objet archivé à l’aide de la console Amazon S3, de S3 Batch Operations, de l’API REST Amazon S3, des kits AWS SDK et de l’AWS Command Line Interface (AWS CLI).
Pour obtenir des instructions, veuillez consulter Restauration d’un objet archivé. Après avoir restauré l’objet archivé, vous pouvez le télécharger.
Téléchargement d’objets en fonction des métadonnées
Vous pouvez ajouter des conditions préalables pour télécharger un objet en fonction de ses métadonnées à l’aide d’une demande de lecture conditionnelle. Vous pouvez renvoyer un objet en fonction de sa balise d’entité ou de sa date de dernière modification. Cela permet limiter une opération S3 aux objets mis à jour depuis une date spécifiée ou de ne renvoyer qu’une version d’objet spécifique.
Vous pouvez utiliser des écritures conditionnelles pour les demandes GetObject ou HeadObject.
Pour plus d’informations sur les demandes conditionnelles, consultez Ajout de conditions préalables aux opérations S3 avec des demandes conditionnelles.
Résolution des problèmes de téléchargement d’objets
Des autorisations insuffisantes ou des stratégies de compartiment ou d’utilisateur Gestion des identités et des accès AWS (IAM) incorrectes peuvent provoquer des erreurs lorsque vous essayez de télécharger des objets depuis Amazon S3. Ces problèmes peuvent souvent provoquer des erreurs d’accès refusé (403 Forbidden), quand Amazon S3 ne parvient pas à autoriser l’accès à une ressource.
Pour connaître les causes courantes des erreurs d’accès refusé (403 Forbidden), consultez Résolution des erreurs d’accès refusé (403 Forbidden) dans Amazon S3.
Si vous recevez une erreur 404 NoSuchKey lorsque vous tentez d’accéder à un objet, consultez Comment puis-je résoudre l’erreur 404 NoSuchKey provenant d’Amazon S3 ?