Можно ли поручить AWS Custom Authorizers вызывать AWS Lambdas на основе переменных этапа? - PullRequest
0 голосов
/ 11 мая 2018

Я сопоставляю лямбда-интеграцию, подобную этой, на API-шлюзе:

${stageVariables.ENV_CHAR}-somelambda

Так что я могу иметь d-somelambda, s-somelambda и т. Д. Несколько версий для сред, все одновременно. Это отлично работает.

НО , я использую Пользовательские Авторизаторы , и у меня есть d-authorizer-jwt и d-authorizer-apikey.

Когда я развертываю API на этапе DEV, все нормально. Но при развертывании на этапе PROD все лямбда-вызовы динамически правильно указывают на *p-lambdas*, кроме пользовательского авторизатора, который все еще указывает на «d» (DEV) и вызывает dev-сервер для необходимой проверки (он кэшируется, но иногда проверяет база данных).

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

Tks

1 Ответ

0 голосов
/ 15 мая 2018

решаемая. Это работает так же, как я описал. Есть несколько предостережений: а) Вам необходимо предварительно предоставить доступ к этой лямбде б) Вы не можете проверить авторизатор из-за сбоя пользовательского интерфейса ... он не запрашивает StageVar, поэтому вы никогда не достигнете лямбды c) Вам необходимо развернуть API для обновления Авторизаторов на определенной стадии

.

Не могу сказать, почему это не сработало с моей первой попытки.

...