ファイルの読み取り方法は理解していますが、ストリームを作成してファイルを更新する方法がわかりません。基本的に、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);
});
}
})