了解 Amazon AppConfig 代理 Lambda 扩展的工作原理
如果您使用 Amazon AppConfig 管理无Lambda 扩展的 Lambda 函数的配置,则必须通过与 StartConfigurationSession 和 GetLatestConfiguration API 操作集成来配置 Lambda 函数以接收配置更新。
将 Amazon AppConfig 代理 Lambda 扩展与您的 Lambda 函数集成,可简化此过程。该扩展负责调用 Amazon AppConfig 服务、管理检索数据的本地缓存、跟踪下一次服务调用所需的配置令牌以及定期在后台检查配置更新。下图显示了它的工作方式。
-
您可以将 Amazon AppConfig 代理 Lambda 扩展配置为 Lambda 函数的一个层。
-
要访问其配置数据,您的函数会在运行于
localhost:2772
的 HTTP 端点上调用 Amazon AppConfig 扩展。 -
该扩展会维护配置数据的本地缓存。如果数据不在缓存中,则扩展会调用 Amazon AppConfig 以获取配置数据。
-
从服务接收配置后,扩展会将其存储在本地缓存中并将其传递给 Lambda 函数。
-
Amazon AppConfig 代理 Lambda 扩展会在后台定期检查配置数据的更新。每次调用 Lambda 函数时,扩展都会检查自检索配置以来的运行时间。如果运行时间大于配置的轮询间隔,则扩展将调用 Amazon AppConfig 以检查新部署的数据,如果发生更改,则更新本地缓存,并重置运行时间。
注意
-
Lambda 会实例化与函数所需的并发级别相对应的单独实例。每个实例都是独立的,并维护自己的配置数据本地缓存。有关 Lambda 实例和并发的更多信息,请参阅《Lambda 开发人员指南》中的 管理 Lambda 函数并发 。
-
从 Amazon AppConfig 部署更新的配置后,配置更改显示在 Lambda 函数中所需的时间取决于您用于部署的部署策略和为扩展配置的轮询间隔。