首页 文章

Lambda函数/阶段范围

提问于
浏览
2

在AWS lambda中运行函数时,通常使用环境变量来控制设置 . 但是,当通过API网关调用Lambda时,您需要“阶段变量”来应对 .

我的问题是:当从API网关调用时,是一个范围到特定API网关阶段的AWS Lambda实例,这样我可以依赖不在调用之间更改的阶段 . 实际上,每个API'阶段'是否都有自己的实例池,可以根据阶段变量进行回收?

我可能希望依赖此行为的示例:

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

  • 改变环境的JWT键 .

我对此的直觉是,如果API网关有两个版本/阶段的部署引用完全相同的函数verison,lambda管理的函数实例可以互换地接收来自两个阶段的调用,并且我不会缓存上下文并请求被驱动过程中的信息(阶段变量)变量 .

那里有很多AWS API Gateway / Lambda的东西,但是找不到这个问题的明确答案 .

1 回答

  • 1

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

    因此,您正在进行的任何函数内缓存都不应该使用只有特定API和/或阶段才能访问缓存数据的假设 .

相关问题