我了解如何读取文件,但我不确定如何创建流来更新文件。本质上,我想在 s3 对象上运行以下命令:
fs.writeFileSync('targetFile.csv', new_data, {flag: 'a+'})
上下文是,我有一个包含表单的弹性 beanstalk 应用程序。提交时,我想捕获一些数据并写入位于 s3 存储桶中的文件 csv 文件。如果有更好的方法解决方案,我对此持开放态度。
更新:这是我的解决方案,但我觉得应该有一种更清洁的方式:
const params = {
Bucket: 'BUCKET',
Key: 'file.csv',
}
s3.getObject(params, function(err, data){
if (err) console.log(err, err.stack);
else {
// since I'm adding to csv: add a new line and comma-seperate new values
params.Body = data.Body.toString('utf-8') + '\n additionanal cell1, additional cell2, additionalcell3';
s3.putObject(params, function(err, data) {
if (err) console.log(err, err.stack);
else console.log(data);
});
}
})