2016-12-14 88 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和/或階段才能訪問緩存數據的假設。