[英]aws lambda SES function timeout
我正在使用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函数。 函数退出并超时。
您正在等待异步调用的响应,很可能没有收到响应。 检查CloudTrail中的SES API日志,以确保实际上是在发出请求。 听起来您的lamdba函数无法访问SES,如果您在VPC中运行它,就会发生这种情况。 您需要将NAT网关添加到VPC。 考虑将Lambda移出VPC。 这是帮助确定权衡的指南 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.