2016-06-16 16 views
1

ダイナミックストレージdynstrgのstep-by-step tutorialに従っています。ダイナミックストレージs3とnode.jsの接続に関する問題「ECONNRESET」

私はアプリを作成し、それをサービスdynstrgにリンクして、説明したようにdragondiskを持つバケットを作成しました。

私は、私は次のエラーを取得するブラウザでアプリを呼び出す:

 
{ 
message: "read ECONNRESET", 
code: "NetworkingError", 
errno: "ECONNRESET", 
syscall: "read", 
region: "eu-west-1", 
hostname: "denistestbucket.ds31s3.swisscom.com", 
retryable: true, 
time: "2016-06-16T10:15:42.670Z" 
} 

次のように私のmanifest.ymlが見えます:

 
--- 
services: 
- denisteststorage 
applications: 
- name: denistestapp 
    memory: 128MB 
    instances: 1 
    domain: scapp-corp.swisscom.com 
    command: node app.js 
    env: 
    bucketName: denistestbucket 

は、ストレージとそこの問題ですか?それとも誰かが私が間違っていることを教えてくれますか? (私はboto3と直接接続しようとしましたが、エラーは "接続が中止されました")。

答えて

2

問題を発見しました。モジュールaws-sdkのバージョンに関連しているようです。 チュートリアルの後、使用されるバージョンは "aws-sdk"です: "^ 2.2.9"これにより自動的に最新のaws-sdkバージョン、2.4.0バージョンがダウンロードされます。 このバージョンでは、デフォルトで署名バージョン4が使用されているため、このエラーが発生します.DMA3にアクセスするには、シグニチャバージョン2を使用する必要があります。 ファイル "app.js" に次の行を変更することにより、次の操作を行います。この行で

var s3Client = new AWS.S3({endpoint: endpoint}); 

var s3Client = new AWS.S3({endpoint: endpoint, signatureVersion: 'v2'}); 

この問題を解決する必要があります。 さらに、チュートリアルも修正しました。

関連する問題