AWS Lambda Node.js 8.10 外部のCSVファイルを取得しJSONにして返す
AWS Lambda Node.js 8.10 CSV to JSON変換
csv-streamを使いました。
npm install csv-stream
csvは下記のようなリスト
178634,0,0
コード
var csv = require('csv-stream'); var request = require('request'); var options = { delimiter : ',', // default is , endLine : '\n', // default is \n, columns : ['c1', 'c2', 'c3'], columnOffset : 3, // default is 0 }; var csvStream = csv.createStream(options); exports.handler = async (event) => { const response = { statusCode: 200, body: [] }; return new Promise((resolve, reject) => { return request('http://*****/*.csv').pipe(csvStream) .on('data', (d) => { response.body.push(d); }).on('end', () => { resolve(response); }); }).then(nex_ => { return nex_; }); };
実行結果
Response: { "statusCode": 200, "body": [ { "c1": "178634", "c2": "0", "c3": "0" },