Я настраиваю свою лямбду в AWS следующим образом:
Существует триггер шлюза API, который запускает Lambda, который, в свою очередь, должен писать в SQS.
Последняя часть не происходит. Из того, что я прочитал, это связано с тем, что API Gateway по умолчанию вызывает лямбда-выражения синхронно, поскольку асинхронный вызов жертвует возможностью возвращать ответ от лямбда-выражения.
Я также читал, что, тем не менее, можно настроить API Gateway для асинхронного вызова lambas:
Однако непонятно, как это сделать, когда шлюз API создается Lambda, как в случае с триггерами. Нет четкого способа добавить к ним дополнительные заголовки.
Можно ли заставить его выполнять асинхронный вызов?
После изучения этого кажется, что API Gateway (пока) не поддерживает асинхронные вызовы для лямбда-выражений каким-либо образом для HTTP API, возможно, REST API.
Шаг 1. Создайте триггер, используя конфигурацию REST.
Шаг 2. Отключите интеграцию с прокси.
Async явно не поддерживается для прокси.
Шаг 3: Добавьте волшебный заголовок, чтобы сделать лямбда асинхронным
Шаг 4: Подтвердите
Чтобы убедиться, что это сработало, загляните в пункт назначения (в моем случае SQS) для подтверждения.
Кроме того, ваш API (при вызове через API Gateway) теперь должен возвращать пустую страницу.