2016-12-14 57 views
2

在AWS lambda中运行函数时,通常使用环境变量来控制设置。但是,当通过API网关调用Lambda时,您需要与“阶段变量”进行抗衡。Lambda函数/阶段范围

我的问题是:从API网关调用时,AWS Lambda实例的作用范围是特定的API网关阶段,这样我就可以依靠阶段而不会在调用之间进行更改。实际上,每个API的“阶段”是否都得到它自己的实例池,并根据阶段变量进行回收?在那里我可能要依赖于这种行为

例子:

  • 创建连接到表 - 表的名称将成为每个阶段不同,所以如果我创建第一次使用的连接我会最终使用第一个调用者阶段上下文。当我在不同的API网关阶段打电话时会发生什么?

  • 变化的环境JWT键。

直觉感觉上是,如果API网关有两个版本/引用完全相同的功能verison部署阶段,拉姆达管理功能的情况下可以互换收到来自两个阶段的电话,和我不要缓存上下文并请求过程中的der件信息(阶段变量)变量。

这里有很多AWS API网关/ Lambda的东西,但找不到明确的答案。

回答

1

你说得对,一个Lambda函数版本将有一个完全独立的实例池。不同的API网关阶段,甚至不同的API可以调用相同的功能,这对Lambda中的实例池没有影响。

因此,您所做的任何在功能缓存都不应使用只有特定API和/或阶段才能访问缓存数据的假设。