Возможно ли, чтобы несколько лямбд AWS обслуживали один HTTP-запрос?

#node.js #amazon-web-services #aws-lambda

#node.js #amazon-web-services #aws-lambda

Вопрос:

В AWS возможно ли, чтобы один HTTP-запрос выполнял лямбда-выражение, которое, в свою очередь, запускает каскад лямбд, выполняемых последовательно, где конечная лямбда возвращает результат пользователю?

Я знаю, что один из способов добиться этого — чтобы начальная лямбда «оставалась запущенной» и управляла другими лямбдами, но я бы заплатил за то, чтобы эта лямбда оркестровки большую часть времени ничего не делала, т. Е. Платила за время, которое она ожидает от других. Если бы это был не лямбда-код, это было бы похоже на блокировку (и оплату) всего потока, в то время как другие потоки выполняют свою работу.

Если AWS не останавливает выставление счетов, пока асинхронные лямбды «спят» / ожидают сетевого ввода-вывода?

Комментарии:

1. Пошаговые функции AWS?

Ответ №1:

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

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

Комментарии:

1. Понятно, интересно, спасибо! Я думаю, что одним из преимуществ является то, что я могу использовать самую низкую настройку ОЗУ — 128 МБ — в оркестраторе. Я предполагаю, что он должен хранить кучу в течение всего этого времени, поэтому, пока я не получаю свои деньги за циклы процессора, я все еще плачу за то, что мне нужно, я думаю: D

2. Да, это, по крайней мере, снизит затраты 🙂

3. вы можете вызвать функцию step непосредственно из API Gateway … сокращает 1 лямбда

4. Однако вы не получите ответ, поскольку он просто вернет идентификатор выполнения . :(.