上传到S3存储桶
问题描述:
我是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');
});
答
您可以使用的工具,像s3fs-fuse安装S3水桶到你的文件系统。但是,通常不建议这样做,因为S3不是用作块存储设备。
由于s3fs自述文件:
一般S3不能提供相同的性能或语义本地 文件系统。更具体地讲:
- 随机写入或附加文件需要重写整个文件
- 元数据操作,如列出目录有表现不佳 由于网络延迟
- 最终一致性可以暂时产生 陈旧数据没有原子文件或目录的重命名
- 没有协调 安装同一个桶的多个客户端
- 没有硬链接
在您的Node应用程序中使用S3的最佳方式是使用AWS SDK for JavaScript in Node.js。
不,这是不可能的,因为S3不是文件存储器,而是一个对象存储器(亚马逊称它为互联网存储器),它的意思是通过其REST API(或使用REST API的SDK来管理引擎盖),所以它没有文件系统功能。 – tavi