使用AWS CLI将AWS Lambda的运行时从nodejs12.x切换到nodejs16.x的批量操作备忘
总结
因为AWS即将停止支持node12,所以我收到一封邮件要求更新lambda到nodejs12.x。
为了在11月之前解决这个问题,我使用了cli来批量更新到nodejs16.x。
需要注意的是,我使用cdk创建的部分明确指定了14.x,所以需要更新的是由CloudFormation自动生成的Lambda函数。
您好,
我们联系您是因为我们发现您的AWS账户中目前有一个或多个使用Node.js 12运行时的Lambda函数。
我们将结束对AWS Lambda的Node.js 12的支持。这是根据Node.js 12的End-Of-Life(终止生命周期)于2022年4月30日到达 [1]。根据Lambda运行时支持策略[2]所述,Lambda中语言运行时的支持结束分为两个阶段。从2022年11月14日开始,Lambda将不再为Lambda函数使用的Node.js 12运行时应用安全补丁和其他更新,并且使用Node.js 12的函数将不再有资格获得技术支持。此外,您将无法再使用Node.js 12运行时创建新的Lambda函数。从2022年12月14日开始,您将无法更新使用Node.js 12运行时的现有函数。
我们联系您是因为我们发现您的AWS账户中目前有一个或多个使用Node.js 12运行时的Lambda函数。
我们将结束对AWS Lambda的Node.js 12的支持。这是根据Node.js 12的End-Of-Life(终止生命周期)于2022年4月30日到达 [1]。根据Lambda运行时支持策略[2]所述,Lambda中语言运行时的支持结束分为两个阶段。从2022年11月14日开始,Lambda将不再为Lambda函数使用的Node.js 12运行时应用安全补丁和其他更新,并且使用Node.js 12的函数将不再有资格获得技术支持。此外,您将无法再使用Node.js 12运行时创建新的Lambda函数。从2022年12月14日开始,您将无法更新使用Node.js 12运行时的现有函数。
我们建议您在2022年11月14日之前将现有的Node.js 12函数升级到Node.js 16。
支持结束不会影响函数执行。您的函数将继续运行。然而,它们将在一个不再由AWS Lambda团队维护或修补的不支持的运行时上运行。
以下命令显示如何使用AWS CLI [3]列出使用Node.js 12的特定区域的所有函数。要在您的账户中找到所有这样的函数,请为每个区域重复此命令:
aws lambda list-functions –function-version ALL –region us-east-1 –output text –query “Functions[?Runtime==’nodejs12.x’].FunctionArn”
环境
-
- gitbash
-
- jq-1.6
- aws-cli/2.7.35 Python/3.9.11 Windows/10 exe/AMD64 prompt/off
点击
aws lambda list-functions --query "Functions[?Runtime=='nodejs12.x'].FunctionName" | jq -r ".[]" | sed "s/^ *\\| *$//" | xargs -I{} aws lambda update-function-configuration --runtime nodejs16.x --function-name "{}"
以下是参考的简要版本:
在中国,以本地人的母语进行改述的要求是:
引用
如何更改 AWS Lambda 的运行时
列出函数
更新函数配置