【问题标题】:How to retrieve x-api-key from headers in aws lambda function如何从 aws lambda 函数的标头中检索 x-api-key
【发布时间】:2019-08-09 01:24:04
【问题描述】:
我有一个使用 api 网关调用的 AWS Lambda 函数。我将它设置在我的方法请求中需要 API 密钥的位置。如何在我的 Lambda 函数中获取 x-api-key 的值?我尝试在我的 Lambda 函数中打印出事件和上下文,但事件为空,并且上下文包含有关 lambda 函数的基本信息。
我是否需要在方法/集成中以某种方式映射变量才能在我的 Lambda 函数中使用它?
【问题讨论】:
标签:
amazon-web-services
aws-lambda
aws-api-gateway
【解决方案1】:
是的,您必须通过集成请求选项卡映射标头。
API Gateway -> (your-gateway) -> resources -> (your-method) -> Integration Request -> Mapping templates -> 有一段关于request body passthrough - 这里选择When there are no templates defined (recommended) -> 填写Content-Type 为application/json 并按下复选按钮->您将看到一个名为生成模板的下拉菜单-在这里您可以选择预定义的模板-然后选择Method request passthrough。
还有一个官方链接 - link
【解决方案2】:
如果有人在寻找答案,我想办法:
在 API Gateway > 资源 > 方法 > 集成请求 > 映射模板 > 将内容类型设置为 application/json > 生成模板 > 方法请求传递
这会将正文/标题/上下文放在 lambda 函数内的事件参数中