如何访问AWS Lambda中的标头?

2023-12-15

我正在使用 AWS Api 网关。 我已经使用 API Gateway 创建了资源和方法。

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

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

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


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

标题应该位于$input.params(x)可在映射模板中使用的变量。请参阅完整的文档如何准确地整合这一点。

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

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

现在您可以在下面的 lambda 函数中访问 api 密钥event.apikey(我没有对此进行测试,但我们在生产中使用类似的东西)。请注意,您可以对所有标头变量以及正文中的变量执行此操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何访问AWS Lambda中的标头? 的相关文章

随机推荐

  • 子集和的动态规划方法

    给定以下输入 10 4 3 5 5 7 Where 10 Total Score 4 4 players 3 Score by player 1 5 Score by player 2 5 Score by player 3 7 Score
  • java.lang.ClassNotFoundException:org.apache.xmlbeans.XmlOptions

    我正在尝试在 servlet 中使用 POI 将上传的文件处理为 Excel 文件 public static String readExcel InputStream inp InputStream inp null StringBuil
  • 有效的 Java - 尽管创建了多个实例,但方法调用时间相同

    我正在学习 Effective Java 在本书的第 5 条中 Joshua Bloch 谈到了避免创建不必要的对象 一个示例演示了可变的 Date 对象 一旦计算出它们的值就永远不会被修改 这是 不好的做法 public Person D
  • 在 mvc 中加载 2 个下拉菜单的更好方法

    这就是我在页面加载状态和城市下拉列表中加载的方式 我的控制器方法 这是页面加载时调用的第一个方法 public ActionResult Index var states GetStates var cities Enumerable Em
  • 在 Outlook 邮件中发送邮件后 itemId 发生变化

    我正进入 状态itemId之后的邮件项目saveAsync在撰写模式下 邮件项目发送后 项目Id进来Office context mailbox item itemId与撰写模式中给出的不同 用于获取的代码itemId在撰写模式下 var
  • 远程服务器上的 mysqldump

    如果有两台机器客户端和服务器 从客户端如何执行 mysqldump 到服务器 以便转储在客户端上可用而不存储在服务器中 Thanks 这是一个生成 mysqldump 的 PHP 脚本 它直接输出到客户端 不会在服务器上创建任何文件 htt
  • 什么允许函数在返回参数时隐式取消引用参数?

    在读的时候如何借用可变引用而不将其传递给函数 OP 的功能如下 fn deref lt a b a T gt t a mut b mut T gt a mut T t 这对我来说很有意义 然而 他们也指出 正文中的显式取消引用 不需要 fn
  • Java中删除注释的脚本

    有谁知道如何 或过程 在构建时从 Java 类文件中删除注释 当使用 Ant 构建项目时 我想对项目中的特定包执行此操作 任何 ANT 脚本或一些自定义代码最受欢迎 编译后没有任何注释 class file
  • 如何使用 python asyncio 编写 Consumer.Producer 代码?

    我的Python版本是3 6 1 我写了一些东西来使用 Python asyncio 实现消费者 生产者模型 但它并没有按预期工作 四个活动均已创建 但没有任何打印导出 async def consumer queue id while T
  • 使用管道时出现“文件名、目录名或卷标语法不正确。”

    当我在我的机器上运行以下命令 或任何带有管道 的命令 时 目录 findstr 目录 我收到以下消息 文件名 目录名或卷标语法不正确 单独运行 dir 命令或 findstr 命令效果很好 卷标是 volC 盘中的卷是 OSDisk卷序列号
  • wpf 中自定义镀铬 Windows

    我尝试使用 WindowStyle None 和AllowsTransparency True 在 wpf 中创建自定义镀铬窗口 但是 当我最大化窗口时 它会覆盖整个屏幕 并超出其边缘 它还会隐藏我的窗口底部的 Windows 栏 屏幕 就
  • 枚举器的行为会根据我们引用它的方式而变化吗?

    将列表枚举器的引用包装在类中似乎会改变其行为 匿名类的示例 public static void Main var list new List
  • 如何在swift中重载赋值运算符

    我想重写 CGFloat 的 运算符 如下所示 func inout left CGFloat right Float left CGFloat right 所以我可以执行以下操作 var A CGFloat 1 var B Float 2
  • SQL Server:计算每月总销售额,包括空月

    我正在尝试计算一个月内产品的总销售额 但我希望它包括任何 空 月份 没有销售额 并且仅选择最近 12 个月 这是我到目前为止的代码 declare ProductNo int set ProductNo 1234 SELECT YEAR o
  • 如何向 MySQL 表添加“权重”并根据这些权重选择随机值?

    我想创建一个表 每行都包含某种权重 然后我想选择概率等于 该行的权重 所有行的权重 的随机值 例如 如果有 5 行 权重为 1000 中的 1 2 3 4 5 我会得到大约 1 15 1000 67 倍第一行 依此类推 该表需要手动填写 然
  • 使用PowerShell查找字符串中的差异

    所以我正在使用 Compare Object 它对于比较文件效果很好 但如果只是字符串呢 有没有办法找出字符串之间的差异 CompareTo 擅长报告存在差异 但不报告差异是什么 例如 PS gt a PowerShell rocks PS
  • Numpy 结构化数组无法完成基本 numpy 操作

    我想操纵namednumpy 数组 加 乘 连接 我定义了结构化数组 types name1 int name2 float a np array 2 3 3 dtype types b np array 4 5 35 dtype type
  • pandas 有没有办法从系列中删除重复项?

    我有一个数据框在 标签 列中有一些用逗号分隔的重复标签 有没有办法从系列中删除重复的字符串 我希望 400 的输出只有博物馆 饮酒 购物 我无法用逗号分割并删除它们 因为该系列中有一些标签具有相似的单词 例如 博物馆 艺术博物馆 购物 因此
  • 下载已部署的GAE应用程序的源代码

    如果我的硬盘上丢失了已部署应用程序的源代码 我可以下载该应用程序的源代码吗 我浏览了应用程序仪表板 但找不到任何选项来检查它 不 您不能 并且没有计划提供此类功能 抱歉 下次考虑投资 VCS 和备份
  • 如何访问AWS Lambda中的标头?

    我正在使用 AWS Api 网关 我已经使用 API Gateway 创建了资源和方法 我创建了 Lambda 函数 用于生成 json 格式的签名 URL 以通过 CloudFront 访问 s3 存储桶 当我使用 GET 方法调用 la