Я пытаюсь записать порции данных в формате CSV в файл в Amazon S3 вместо записи во временный файл через WriteStream, затем создания ReadStream для этого файла и отправки его в S3.Моя программа извлекает строки данных из базы данных, обрабатывает их, а затем форматирует каждую строку в CSV, как это происходит, используя S3 upload () api
let recordsCSVFormatted;
let offset = 0;
const batchSize = 500;
const writer = fs.createWriteStream('./someFile.csv')
do {
recordsCSVFormatted = await getRecords(limit, offset); // gets records from DB, formats it in CSV string
writer.write(recordsCSVFormatted);
offset += batchSize;
} while (typeof recordsCSVFormatted === 'undefined' || (recordsCSVFormatted && recordsCSVFormatted.length))
const reader = fs.createReadStream('./someFile.csv');
// just assume here that Key and Bucket are provided in upload, they are in actual code
await new AWS.S3({...s3Opts}).upload({Body: reader}).promise() // pass the readable in here for AWS
Как я могу пропустить шаг создания временного файла и затем передатьфайл в AWS как поток?Я хочу иметь возможность напрямую передавать фрагменты информации CSV.