В моем проекте мне нужно было написать код, который загружает файл CSV с S3 и преобразует его в формат JSON. Я просто делюсь тем, что сделал, и делаю краткие заметки для каждого API.
Окружающая среда
- узел: 8.10.0
- aws-sdk: 2.211.1
- csvtojson: 2.0.8
Предполагаемые знания
- Как получить / установить учетную информацию AWS
- Как использовать и определить эти учетные данные в файле .env
require('dotenv').config(); const AWS = require('aws-sdk'); const csv = require('csvtojson'); const S3 = new AWS.S3(); const params = { Bucket: 'bucket name', Key: 'csv file name' }; async function csvToJSON() { // get csv file and create stream const stream = S3.getObject(params).createReadStream(); // convert csv file (stream) to JSON format data const json = await csv().fromStream(stream); console.log(json); }; csvToJSON();
getObject (): получить объекты из S3.
Https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getObject-property
getObject (). createReadStream (): направляет объекты из S3 в объект потока Node.js.
csv (). fromStream (readableStream): преобразовать в JSON из CSV readableStream.
Заключение
Собственно, я не знал, что такое объект Stream в Node.js. Задача дала мне возможность задуматься над этим глубже. Кроме того, это мой первый пост на Medium. Я поделюсь своими мыслями, делами и опытом. Надеюсь, мой пост кому-то поможет. Спасибо.