【发布时间】:2020-11-19 23:02:47
【问题描述】:
这是我的 lambda 代码
import AWS from "aws-sdk";
import response from "../../utils/response";
export const importProductsFile = async event => {
// noinspection JSUnresolvedVariable
if (!event.queryStringParameters || !event.queryStringParameters.name) {
return response({ message: 'Bad request' }, 400);
}
const s3 = new AWS.S3({ region: 'eu-west-1' });
try {
const res = await s3.getSignedUrlPromise('putObject', {
Bucket: 'static_buck',
Key: `uploaded/${event.queryStringParameters.name}`,
Expires: 60,
ContentType: 'text/csv'
});
return response(res);
} catch (e) {
return response({ message: e.message || 'Unknown error' }, 500);
}
}
上述 lambda 有时会因“缺少凭据错误”而失败,有时会因超时“任务在 6.01 秒后超时”而失败。 服务器抛出错误,本地 lambda 被 serverless 成功调用。为什么 sdk 看不到 aws 凭据?谢谢
【问题讨论】:
标签: node.js amazon-web-services amazon-s3 aws-sdk