当前位置:  开发笔记 > 编程语言 > 正文

如何在AWS Lambda中访问标头?

如何解决《如何在AWSLambda中访问标头?》经验,为你挑选了1个好方法。

我正在使用AWS Api Gateway.我使用API​​网关创建了资源和方法.

我创建了Lambda函数,用于生成json格式的签名URL,以通过CloudFront访问s3存储桶.

当我使用GET方法调用lambda函数时.我传递"channekID"作为查询字符串.我想发送X-API-Key自定义标头以进行授权.

我尝试了很多东西,但没有找到任何解决方案.如何在Lambda函数中发送自定义标头?并在访问Lambda中的标头值之后如何使用x-api-key进行授权?



1> Luc Hendriks..:

您无法使用Lambda访问标头.但是你可以做的是在Api网关中创建一个映射模板,将标题值放在事件对象中.

标头应该位于$input.params(x)可以在映射模板中使用的变量中.请参阅如何准确集成此文档的完整文档.

更新:在您的映射模板中(在api网关 - >您的端点 - >集成请求下),添加如下内容:

#set($inputRoot = $input.path('$'))
{
  "apikey" : "$input.params('X-Api-Key')"
}

现在你可以在lambda函数下访问api键了event.apikey(我没有测试过这个,但我们在生产中使用类似的东西).请注意,您可以对所有标题变量以及正文中的变量执行此操作.

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有