#aws-lambda
#aws-lambda
Вопрос:
Как можно направить запрос от API Gateway на основе функций lambda A / B / C на основе того факта, присутствует или нет определенный заголовок?
https://api.example.com/prod
if the headers "UserType" is:
guest -> redirect to lambda A
normal -> redirect to lambda B
admin -> redirect to lambda C
Я знаю, как использовать только другой URL, например:
https://api.example.com/prod
https://api.example.com/dev
Ответ №1:
На самом деле это невозможно. Мы можем привязать только одну лямбда-функцию к определенному ресурсу API Gateway. Заголовки доступны как параметр события в самой функции lambda.
Предпочтительным способом было бы создать 3 разные функции (ваша бизнес-логика будет находиться здесь) в вашем lambda и на основе usertype вы можете вызвать функцию.
И если вы действительно хотите использовать три разных лямбда-выражения, вы можете использовать метод invoke, доступный в aws-sdk. Синтаксис и пример кода можно найти по следующей ссылке.
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Lambda.html#invoke-property
2-й метод определенно увеличит время отклика.
Комментарии:
1. Очень четкий ответ! спасибо, что нашли время и помогли совершенно незнакомому человеку.