我正在尝试从 S3 存储桶读取大小约为 1GB 的文件。我的目标是从文件中读取数据并将其发送到另一台服务器。
当我尝试读取大文件(1GB)时,我的系统挂起/服务器崩溃。我可以使用以下代码段控制台输出 240MB 文件的数据
var bucketParams = {
Bucket: "xyzBucket",
Key: "input/something.zip"
};
router.get('/getData', function(req, res) {
s3.getObject(bucketParams, function(err, data) {
if (err) {
console.log(err, err.stack); // an error occurred
}
else {
console.log(data); // successful response
}
});
// Send data over to another server
});
从 S3 读取大文件时,它是如何工作的?
最佳答案
要回答从 S3 读取大文件的问题,我建议使用 Range
来获取对象的一部分
https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html
逐步获取它可以防止您超出框架/RAM消耗的限制
您还可以利用范围支持通过多部分/多线程下载来提高带宽利用率
关于node.js - 从S3存储桶读取大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49142647/