这些功能可通过使用AWS CLI和Lambda AWS 管理控制台为 lambda 运行时选择一种更新模式来使用。此外,开发人员可以选择基础设施即代码 (IaC) 路线并使用AWS CloudFormation和AWS 无服务器应用程序模型 (AWS SAM)等工具。
AWS 的首席产品经理 Jonathan Tuliani 在一篇 AWS博客文章中解释了运行时版本更新模式:您可以指定三种运行时更新模式之一:自动、函数更新或手动。运行时更新模式控制 Lambda 何时将函数版本更新为新的运行时版本。
自动模式是默认模式,其中 Lambda 负责更新,其中函数将分两个阶段接收运行时更新。首先,Lambda 会将新的运行时版本应用到新创建或更新的函数,然后再应用到任何剩余的函数。
在第二种模式中,函数更新,只要开发人员更改其函数代码或配置,Lambda 就会将函数更新到最新的可用运行时版本,类似于自动模式的第一阶段,但不会影响任何其他函数。
最后,手动模式使开发人员可以完全控制其函数的运行时版本。它允许他们执行回滚到以前的版本。但是,AWS 强烈建议仅将手动模式用于代码不兼容性的短期修复。
AWS 精英Eric Hammond在 AWS Community social 上发帖:我将坚持使用 AWS Lambda 运行时堆栈的默认“自动”更新,因为:- 我很少更新我的函数中的代码- 我不想在我的生活中添加更多手动任务,并且- 我'到目前为止,我从未遇到过自动更新问题,
其中“到目前为止”是指使用 AWS Lambda 运行服务超过八年。
此外,AWS 无服务器精英 Ben Kehoe在推特上写道:无服务器最难的部分是放弃控制。每个人都说更新依赖项和运行时版本很好。被迫这样做是一件好事。
此外,他发推文说: 您应该知道如何在紧急情况下使用这个新的 Lambda 运行时版本控制,但认为它具有放射性。使用 Step Function,它会在 1 或 2 次冲刺后自动将其关闭。关于作者Steef-Jan Wiggers 是 InfoQ 的高级云编辑之一,在荷兰的 HSO 担任技术集成架构师。他目前的技术专长侧重于集成平台实施、Azure......。