是否可以指示AWS Custom Authorizers根据Stage Variables调用AWS Lambdas?

时间:2018-05-11 17:00:12

标签: amazon-web-services aws-lambda aws-api-gateway custom-authentication

我在API网关上映射这样的Lambda Integrations:

${stageVariables.ENV_CHAR}-somelambda

所以我可以拥有d-somelambdas-somelambda等。环境的几个版本,都是同步的。这很好。

但是,我正在使用自定义授权程序,我有d-authorizer-jwtd-authorizer-apikey

当我在DEV阶段部署API时,一切正常。但是当我部署到PROD阶段时,所有lambda调用都动态地指向*p-lambdas*,除了自定义授权器,它仍然指向" d" (DEV)并调用dev后端进行必要的验证(缓存,但有时会检查数据库)。

请注意我不想像其他人一样要求传递舞台变量,我只是想通过像Integration Request提供的正确配置来调用正确的Lambda。通过访问Stage Variables作为解决这个问题的最终方法,我需要改变我的方法并为所有envs设置一个lambda,并根据Stage Variables动态触摸所需的后端......不是那么好。

韩国社交协会

1 个答案:

答案 0 :(得分:1)

解决。它就像我描述的那样工作。有一些警告: a)您需要先授予对该lambda的访问权限 b)由于UI故障,你无法测试授权人......它不会要求StageVar,所以你永远不会到达lambda c)您需要部署API以在特定阶段更新授权人员

不知道为什么我第一次尝试时没效。