2012-05-01 2 views
1

Я уже много дней пытаюсь загрузить файл (message.txt) в aws s3 с помощью knox и узла js.Загрузить S3 knox node js (подпись не соответствует)

У меня есть подпись, которая не соответствует ошибке.

мой код в узле JS (загрузка не работает, так что я просто пытаюсь сделать ГЭТ):

var client = knox.createClient({ 
    key: 'myAWSkey' 
    , secret: 'mySecretKey' 
    , bucket: 'mybucket' 
    , endpoint: 'mybucket.s3-eu-west-1.amazonaws.com' 
}); 
client.get('/').on('response', function(res){ 
    console.log(res.statusCode); 
    console.log(res.headers); 
    res.setEncoding('utf8'); 
    res.on('data', function(chunk){ 
    console.log(chunk); 
    }); 
}).end(); 

Я также попытался амазонка сравнить test signature со многими различными способами, как это: html and python version

Ничего не работало для меня, я, вероятно, немного потерял в процессе ... Если кто-то может дать мне несколько строк, которые помогут мне и/или скрипту правильно генерировать подпись в javascript/node js Я буду очень признателен.

ответ

2

Возможно, вы захотите попробовать библиотеку AwsSum. Он активно поддерживается и также поставляется с загрузкой примеров и другим репо с более полнофункциональными скриптами.

И для ваших потребностей, есть пример сценария загрузки в репозиторий скриптов (отдельный проект GitHub):

Позвольте мне знать, если вам нужна какая-либо помощь, или если вы в порядке. Отказ от ответственности: Я автор AwsSum. :)

+0

Я попробовал это: var awssum = require ('awssum'); var amazon = awssum.load ('amazon/amazon'); var S3 = awssum.load ('amazon/s3'). S3; var s3 = new S3 ('мой ключ доступа', 'мой секретный ключ', 'мой номер учетной записи', amazon.EU_WEST_1); 'но у меня есть ошибка" undefined is not a function "любая идея? Спасибо за вашу помощь –

+0

После осмотра я сделал работу над вашим загружаемым файлом, и я заметил, что в вашем основном примере node-awssum вы загружаете библиотеку с помощью 'var S3 = awssum.load ('amazon/s3'). S3; отличается от вас выгружать файл 'var S3 = awssum.load ('amazon/s3');' (.S3 в конце) В любом случае я удалил его и, похоже, сработал !! Огромное спасибо !! –

+0

К сожалению, это был API v0.4.0, и есть новый API v0.5.0, который отражен в README. Поскольку библиотека новая, я надеюсь, что изменений больше не будет. Примечание: я выпустил v0.5.0 на NPM вчера (2012-05-16)! – chilts

0

Я просто боролся с этой проблемой в течение нескольких дней. Предполагая, что вы работаете в Windows, похоже, что это проблема в конце Нокса. По-видимому, проблема решена, но решение еще не вошло в основной проект.

Смотрите эту тему: https://github.com/LearnBoost/knox/issues/56

Мой обходной путь был просто удалить библиотеку Нокс и клонировать этот репозиторий в мою папку node_modules: https://github.com/domenic/knox.git

Надежда, что помогает!

+0

Привет, спасибо за ваш ответ, но у меня все еще такая же проблема: s –