Я сопоставляю лямбда-интеграцию, подобную этой, на 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