我正在使用nodejs版本8.1和无休止的框架
在我的serverless.yml中,我有:
provider:
name: aws
runtime: nodejs8.10
region: eu-west-1
iamRoleStatements:
- Effect: "Allow"
Action:
- "ses:GetIdentityVerificationAttributes"
Resource: "*"
我的lambda看起来像这样:
const AWS = require('aws-sdk');
var ses = new AWS.SES({
region: 'eu-west-1'
});
module.exports.handler = async (event, context, callback) => {
context.callbackWaitsForEmptyEventLoop = false;
let identityVerif = await ses.getIdentityVerificationAttributes({Identities: ['email']}).promise();
}
我不明白为什么getIdentity函数从不执行。 该函数退出并超时。
答案 0 :(得分:2)
您正在等待异步调用的响应,很可能您没有接到响应。检查SES API logs in CloudTrail,以确保确实在发出请求。听起来您的lamdba函数无法访问SES,如果您在VPC中运行它,就会发生这种情况。您需要将NAT网关添加到VPC。考虑将Lambda移出VPC。 Here is a guide来帮助确定权衡。