2012-05-01 4 views
1

나는 aw383x0x및 노드 js를 사용하여 aws s3에 파일 (message.txt)을 업로드하려고 여러 차례 노력해 왔습니다.S3 knox 노드 js 업로드 (서명이 일치하지 않음)

서명이 일치하지 않는 오류가 계속 발생합니다.

노드 JS에서 내 코드 (업로드가 난 그냥 GET을 할 노력하고있어 그렇게 작동하지 않는) :

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

아무것도 내가 과정에서 손실 조금 ... 누군가가 저와/또는 제대로 자바 스크립트/노드 JS에서 서명을 생성하는 스크립트를 안내하는 나에게 몇 가지 큰 라인을 줄 수 있다면 아마 해요, 저를 위해 일하지 나는 매우 감사하게 될 것입니다.

답변

2

AwsSum 라이브러리를 사용해보십시오. 그것은 적극적으로 유지 보수되며 또한 예제와 많은 기능을 갖춘 스크립트로 다른 repo의 부하가 함께 제공됩니다.

가 알려줘 : https://github.com/appsattic/node-awssum/

그리고 사용자의 요구에

  • 는 스크립트의 repo의 예를 업로드 스크립트 (별도의 GitHub의 프로젝트)가 도움이 필요하거나 괜찮아 질 경우. 면책 조항 : 저는 AwsSum의 저자입니다. :)

+0

나는 이것을 시도 bien :'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);하지만 "정의되지 않은 함수가 아닙니다"라는 오류가 발생 했습니까? 도움을 주셔서 감사합니다 –

+0

주위를 둘러보고 나는 당신의 업로드 파일을 만들었고 node-awssum의 주요 예제에서 var S3 = awssum.load ('amazon/s3'). S3; var S3 = awssum.load ('amazon/s3');'(끝에 .S3) 어쨌든 나는 그것을 제거하고 그것이 작동하는 것 같다 !! 정말 고맙습니다 !! –

+0

죄송합니다. v0.4.0 API이며 README에 반영된 새로운 v0.5.0 API가 있습니다. 라이브러리가 새로운 라이브러리이기 때문에 더 이상 변경 사항이 없을 것으로 기대하고 있습니다. 참고 : 어제 NPM에 v0.5.0을 출시했습니다 (2012-05-16). – chilts

0

저는 며칠 동안이 문제로 어려움을 겪었습니다. Windows에 있다고 가정하면 녹스가 끝날 때 문제가되는 것처럼 보입니다. 분명히 문제는 해결되었지만 해결책은 아직 주 프로젝트로 끌어 들여지지 않았습니다.

이 스레드를 참조하십시오 데 도움이 https://github.com/domenic/knox.git

희망 : https://github.com/LearnBoost/knox/issues/56

내 해결 방법은 바로 녹스 라이브러리를 제거하고 내 node_modules 폴더에이 저장소를 복제하는 것이 었습니다!

+0

안녕하세요, 귀하의 답변 주셔서 감사하지만 여전히 동일한 문제가 있어요 : –