тайм-аут функции SES лямбда - PullRequest
0 голосов
/ 23 января 2019

Я использую nodejs версии 8.1 и severless framework

в моем serverless.yml У меня есть:

provider:
  name: aws
  runtime: nodejs8.10
  region: eu-west-1
  iamRoleStatements:
  - Effect: "Allow"
    Action:
      - "ses:GetIdentityVerificationAttributes"
    Resource: "*"

и моя лямбда выглядит так:

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 голосов
/ 23 января 2019

Вы ожидаете ответа асинхронного вызова, и, скорее всего, вы его не получаете.Проверьте журналы SES API в CloudTrail , чтобы убедиться, что запрос действительно выполняется.Похоже, ваша функция lamdba не может получить доступ к SES, что произойдет, если вы запустите ее в VPC.Вам нужно будет добавить шлюз NAT к VPC.Рассмотрите возможность перемещения вашей лямбды за пределы вашего VPC. Вот руководство , помогающее определить компромисс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...