【发布时间】:2022-01-08 15:25:34
【问题描述】:
我有一个 AWS Lambda 函数,它从 S3 读取 CSV 数据并将其转换为 JSON。 代码:
const AWS = require('aws-sdk');
const s3 = new AWS.S3();
const csv = require('csv-parser');
const bucket = 'awslambdabuckets';
const objectkey = 'claimant_record.csv';
const params = { Bucket: bucket, Key: objectkey };
const results = [];
exports.handler = function (event, ctx, callback) {
try {
const file = s3.getObject(params).createReadStream();
file
.pipe(csv())
.on('data', function (data) {
results.push(data);
// console.log(results)
callback(null, results);
})
.on('end', () => {
// console.log(results);
callback(null, results);
});
} catch (err) {
// console.log(err);
callback(Error(err));
}
};
输出:
[
{
"ID": "678980",
"fName": "Michelle",
"lName": "Humbert",
"mName": "K.",
},
{
"ID": "705264",
"fName": "John",
"lName": "Turner",
"mName": "NULL",
},
{
"ID": "720367",
"fName": "Timothy",
"lName": "Labonte",
"mName": "E.",
}
]
问题:如何在 JSON 中仅访问每个客户的 ID?
我尝试过的步骤:
callback(Error(err));
}
};
for (var result of results) {
console.log(result.ID)
}
输出:Null
【问题讨论】:
-
你能得到一个对象数组吗?你想在哪里运行循环?
-
回调后(Error(err)); }.
标签: node.js amazon-web-services aws-lambda