2016-12-04 249 views
0

我是Elastic Beanstalk的新手,刚刚上传了一个NodeJs应用程序。 我想知道是否有可能“链接”(如unix符号链接)文件夹到S3存储桶?上传到S3存储桶

使 “/录音” 点S3:

var filename = 'recordings/' + match[1] + '.wav'; 
     var file = fs.createWriteStream(filename); 
     var request = https.get(url, function(response) { 
      response.pipe(file); 
      file.on('finish', function() { 
      file.close(); 
     }).on('error', function(err) { 
     fs.unlink(file); 
     console.log('error downloading recording'); 
     }); 
+0

不,这是不可能的,因为S3不是文件存储器,而是一个对象存储器(亚马逊称它为互联网存储器),它的意思是通过其REST API(或使用REST API的SDK来管理引擎盖),所以它没有文件系统功能。 – tavi

回答

1

可以使用的工具,像s3fs-fuse安装S3水桶到你的文件系统。但是,通常不建议这样做,因为S3不是用作块存储设备。

由于s3fs自述文件:

一般S3不能提供相同的性能或语义本地 文件系统。更具体地讲:

  • 随机写入或附加文件需要重写整个文件
  • 元数据操作,如列出目录有表现不佳 由于网络延迟
  • 最终一致性可以暂时产生 陈旧数据没有原子文件或目录的重命名
  • 没有协调 安装同一个桶的多个客户端
  • 没有硬链接

在您的Node应用程序中使用S3的最佳方式是使用AWS SDK for JavaScript in Node.js

相关问题