AWS Lambda SES功能超时

时间:2019-01-23 13:55:19

标签: amazon-web-services aws-lambda aws-sdk serverless-framework amazon-ses

我正在使用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函数从不执行。 该函数退出并超时。

1 个答案:

答案 0 :(得分:2)

您正在等待异步调用的响应,很可能您没有接到响应。检查SES API logs in CloudTrail,以确保确实在发出请求。听起来您的lamdba函数无法访问SES,如果您在VPC中运行它,就会发生这种情况。您需要将NAT网关添加到VPC。考虑将Lambda移出VPC。 Here is a guide来帮助确定权衡。