Бессерверные функции работают локально, но развернутые не отвечают - PullRequest
0 голосов
/ 23 апреля 2020

Мы изменяем вещи в нашей структуре, такие как получение продолжения для работы с serverless-bundle.

Мы протестировали все наши новые функции в этом формате:

serverless invoke local --function getObjects

Он работал отлично и замечательно быстро.

Развертывание прошло без ошибок, у нас был флаг отладки. набор. Кажется, что конечные точки работают, но лямбда-функции не отвечают.

Вот некоторые из наших serverless.yml

  name: aws
  runtime: nodejs12.x
  stage: dev
  region: us-west-2
  logs:
    restApi: true

  iamRoleStatements:
    - Effect: Allow
      Action:
       - "cloudwatch:*"

  functions:
    getObjects:
      handler: objects/get.main
      events:
        - http:
            path: objects
            method: get
            cors: true
            authorizer: aws_iam

Код кажется идентичным пакету из локальных тестов, но у него есть постоянное время выполнения, время ожидания независимо от того, насколько большим я делаю время выполнения лямбды в консоли. Еще более странно, что лямбда-код никогда не выдает ошибку, и журналы фактически пустые, что говорит о том, что она даже не инициализирует функцию должным образом.

Кто-нибудь видел такое поведение раньше или у кого-нибудь есть идеи, как его решить?

1 Ответ

0 голосов
/ 24 апреля 2020

Получилось, что VP C, который мы использовали в режиме без сервера, не был авторизован в нашей группе безопасности AWS для RDS. Он никогда не выдавал ошибку, поскольку ожидал истечения времени ожидания соединения с БД и никогда не отклонял запрос к базе данных, поскольку он контролировался IP. Добавив VP C в группу безопасности, он работает просто отлично!

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