【发布时间】:2022-02-10 03:06:06
【问题描述】:
我正在使用 Node.js 编写的基本 API lambda 函数与 Api 网关集成,我的目标是从 S3 获取文件作为可下载对象(在本例中为 .csv 文件)。 API 有效,但它在浏览器中以纯文本形式返回,并且数据看起来不像 csv 中的数据。
我没有收到任何错误,所以我不明白我的问题出在哪里。有什么想法吗?谢谢!
这是 node.js 代码:
console.log('Loading function');
const aws = require('aws-sdk');
const s3 = new aws.S3({ apiVersion: '2006-03-01' });
exports.handler = async (event, context) => {
const params = {
Bucket: 'testing-api-lambda-s3-jfr',
Key: 'sample-file-testing.csv',
};
return new Promise((resolve, reject) => {
s3.getObject(params, function (err, data) {
if (err) {
reject({
statusCode: 500,
error: JSON.stringify(err)
});
}
resolve({
statusCode: 200,
headers: {
"Access-Control-Allow-Origin": "*",
"Content-Type": "text/csv"
},
body: data
});
});
});
};
【问题讨论】:
标签: node.js amazon-web-services api amazon-s3 aws-lambda