web-dev-qa-db-fra.com

AWS BOTO3 S3 python - Une erreur s'est produite (404) lors de l'appel de l'opération HeadObject: introuvable

J'essaye de télécharger un répertoire dans le seau s3. J'essaie d'utiliser transfer pour télécharger un répertoire du compartiment S3, mais le message d'erreur suivant s'affiche: "Une erreur s'est produite (404) lors de l'appel de l'opération HeadObject: Introuvable". S'il vous plaît aider.

S3 structure:
  **Bucket
     Folder1
        File1**

Remarque: essayez de télécharger le dossier 1

transfer.download_file(self.bucket_name, self.dir_name, self.file_dir + self.dir_name)
9
Jack

J'ai eu le même problème récemment. Vous avez probablement mal orthographié le chemin et le nom du dossier. Dans mon cas, par exemple, je me suis trompé avec le '/'. 

Pour résoudre ce problème, assurez-vous que les variables que vous utilisez comme arguments de la fonction contiennent les noms corrects des répertoires, des dossiers et des fichiers, comme dans S3. Aussi, assurez-vous de mettre le '/' aux bons endroits dans les bonnes variables. Par exemple, dans mon cas, j'ai constaté que: 

  • nom du compartiment: nom du compartiment (sans '/' à la fin, ni 's3: //')
  • nom du répertoire: folder1/folder2/nom_fichier (sans '/' au début)

J'espère que cela vous aidera, vous et les autres, à contourner facilement cette erreur.

13

Une autre cause possible que j'ai rencontrée est que le fichier que vous essayez de télécharger contient 0 octet. C'est assez déroutant, car AWS cli le téléchargera sans aucune objection.

0
Avidan Efody