Cela a aidé dans mon cas :
- faire
s3cmd ls
sur le seau - il a imprimé un avertissement concernant une redirection
- remplacer le
bucket_host
dans le.s3cfg
fichier avec celui de l'avertissement. - répéter
s3cmd ls
, il ne devrait plus afficher d'avertissement - réimporter le fichier
mon .s3cfg est maintenant :
host_bucket = %(bucket)s.s3-external-3.amazonaws.com
Il existe quelques problèmes courants qui font que s3cmd renvoie l'erreur que vous mentionnez :
- Inexistant (par exemple, un nom de compartiment mal saisi ; ou un compartiment qui n'a pas encore été provisionné)
- Espaces de fin sur vos valeurs d'authentification (clé/id)
- Une horloge système imprécise. Il est possible d'utiliser Wireshark (sur une connexion http - pas https) pour voir comment votre horloge système s'aligne avec l'horloge de S3 - elles devraient correspondre en quelques secondes. Envisagez d'utiliser NTP pour synchroniser votre horloge si cela pose problème.
Alternatives à s3cmd :
- s3cp - un script basé sur Java qui offre de bonnes fonctionnalités pour transférer des fichiers vers S3, et des messages d'erreur plus détaillés que s3cmd
- aws - un script basé sur Perl, écrit par Tim Kay, qui fournit un accès facile à la plupart des fonctions AWS (y compris S3), et est très populaire.
Si vous souhaitez écrire votre propre script, vous pouvez utiliser la bibliothèque Python Boto qui a des fonctions pour effectuer la plupart des opérations AWS et a de nombreux exemples disponibles en ligne. Il existe un projet qui expose certaines des fonctions boto sur la ligne de commande - bien qu'un très petit ensemble de fonctions soit actuellement disponible.
J'ai eu le même problème avec l'Ubuntu s3cmd
commande.
Le téléchargement de la dernière version stable (1.0.1) l'a résolu :http://sourceforge.net/projects/s3tools/files/s3cmd/