Serverless Framework - лямбда для вызова другой лямбды без использования шлюза API - PullRequest
0 голосов
/ 29 марта 2019

Я строю следующую архитектуру: пользователь отправляет строку в API Gateway, который, в свою очередь, вызывает функцию Lambda, используя эту строку в качестве входных данных.Эта лямбда-функция записывает строку в DynamoDB.После этого эта лямбда-функция вызывает другую лямбда-функцию, передавая в качестве ввода идентификатор элемента, вставленного в DynamoDB, и возвращает код состояния 200.

Для вызова второй лямбда-функции я использую:

payload = {"id":item['id']}
invoke_lambda = lambda_client.invoke(FunctionName="process",
                                     InvocationType="Event",
                                     Payload=json.dumps(payload))

Как мне настроить serverless.yml для второй лямбды, чтобы она не использовала API-шлюз?Я не хочу использовать API-шлюз, потому что он ограничивает Lambda до 30 секунд.

Например, чтобы использовать API-шлюз, я бы просто сделал это:

functions:
  process:
    events:
      - http: ANY /
      - http: 'ANY {proxy+}'

Чтоальтернатива этому?

1 Ответ

1 голос
/ 29 марта 2019

Пока ваша вторая лямбда-функция не подключена к шлюзу API, она ничем не будет ограничена.

Таким образом, вы можете просто не включать свойство "events" во второе определение лямбды(это необязательный параметр)

...