动态存储 s3 和节点"ECONNRESET"连接问题.js



我正在关注动态存储dynstrg的分步教程。

我创建了一个应用程序,将其与Service Dynstrg链接在一起,并如上所述创建了带有Dragondisk的存储桶。

当我在浏览器上调用应用程序时,我会收到以下错误:

{消息:"读取Econnreset",代码:" NetworkingError",Errno:" Econnreset",Syscall:"读",区域:"欧盟 - 西1",主机名:" denistestbucket.ds31s3.swisscom.com",重试:是的,时间:" 2016-06-16T10:15:42.670Z"}

我的清单。看起来如下:

---服务:  -  DenistestStorage应用程序: - 名称:DenistEstapp  内存:128MB  实例:1  域:scapp-corp.swisscom.com  命令:node app.js  env:     bucketname:denistestbucket

存储空间有问题吗?还是可以告诉我我做错了什么?(我还尝试将BOTO3直接连接到存储,而错误"中止连接")。

我发现了这个问题,它似乎与使用的模块" aws-sdk"的版本有关。在教程之后,使用的版本是" AWS-SDK":"^2.2.9",这会自动导致最新的AWS-SDK版本(2.4.0版本)下载。此版本会导致您观察到的错误,因为默认情况下它使用签名版本4。要访问动态存储S3(基于EMC Atmos。可以在此处找到文档),有必要使用签名版本2。您可以通过在文件" app.js"上更改此行来执行此操作:

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

使用此行:

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

这应该解决问题。此外,我还修复了教程。

相关内容

  • 没有找到相关文章

最新更新