2010-02-11 7 views
6

Próbuję wysłać plik do amazon s3 przy użyciu skryptów s3-bash.s3-put nie wysyła pliku

poleceniem:

./s3-put -T ./test2 -k <mykey> -s ./<mysecretkeyfile> /mybucketname 

prowadzi do:

<?xml version="1.0" encoding="UTF-8"?> 
<Error><Code>MalformedXML</Code><Message>The XML you provided was not well-formed or did not validate against our published schema</Message><RequestId>xxx</RequestId><HostId>xxx</HostId></Error> 

jakiś pomysł? Chcę tylko wysłać plik przez bash.

+0

Po prostu napotkałem ten sam błąd za pomocą innego narzędzia, s3cmd. Okazało się, że musisz dodać końcowy slash do nazwy pojemnika: http://s3tools.org/s3cmd#c000229. (Może to samo dotyczy s3-bash i nie musisz dodawać * nazwy pliku *. A może nie.) – Jonik

Odpowiedz

6

Rozwiązałem go: nazwa wiadro musi mieć nazwę pliku przymocowane, tak:

/mybucketname/myfile 

Więc pełna komenda może wyglądać tak:

./s3-put -T ./test2 -k <mykey> -s ./<mysecretkeyfile> /mybucketname/myfile 
0

w moim przypadku problem był z Rozszerzenie pliku, mój plik był bez rozszerzeń. Po otrzymaniu rozszerzenia (w moim przypadku było .zip), plik został pomyślnie przesłany.