最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

AWS Lambda 现可支持 Node.js 18 运行时

  • 2022-12-25
    北京
  • 本文字数:1528 字

    阅读完需:约 5 分钟

AWS Lambda现可支持Node.js 18运行时

近期,亚马逊云科技宣布Node.js版本18支持其函数即服务(FaaS)AWS Lambda,并处于活跃LTS状态(可供一般使用)。


开发者目前可使用 Node.js 18 中的新语言功能编写 AWS Lambda 函数,比如类字段和私有类方法的性能优化、JSON 导入断言,以及包括 Fetch API、Test Runner模块Web Streams API在内的实验性功能。


全局 Fetch API 在 Node.js 18 中默认可用,这一实验性功能中的 fetch 函数取代了 fetch polyfills 及其他三方 HTTP:

// index.mjs 
export const handler = async(event) => { const res = await fetch('https://nodejs.org/api/documentation.json'); if (res.ok) { const data = await res.json(); console.log(data); }
const response = { statusCode: 200, body: JSON.stringify('Hello from Lambda!'), }; return response;};
复制代码


所有实验性功能都可通过 NODE_OPTIONS 环境变量启用或禁用。


AWS Lambda 支持目前 Node.js 的长期支持版本(LTS),意味着使用新版本的开发者在创建或更新函数时需要指定 nodejs 18.x 的运行时参数值,或者使用有运行时管理的基础镜像


除此之外,运行在基于Arm AWS Graviton2或基于 x86 的处理器的函数均支持 Node.js 18 的运行时。


AWS Lambda 所支持的上一版本Node.js 16自 2022 年十月中旬起便一直处于维护 LTS 状态,并将在一年后迎来生命周期的终结。



来源:https://github.com/nodejs/release#release-schedule


Lambda 的 Node.js 运行时在 Node.js 16 及之前版本中,使用的都是 JavaScript 版本 2 的 AWS SDK,目前后者已随着对 Node.js 18 的升级更新至 JavaScript 版本 3 的 AWS SDK。因此,公司推荐已升级至 Node.js 18 的开发者将函数代码同步更新至使用 SDK v3,或者也可以通过部署 SDK v2 及其功能代码,以在不更新现有代码的情况下使用 Node.js 18 的运行时。


AppDev 的云计算顾问 Suraj Tripathi 在一篇 AWS 计算的博文中解释道:


与第二版相比,第三版的 SDK 为 JavaScript 带来了不少优势。更重要的是,它是模块化的,也就是说代码只需加载需要的模块。如果你选择将 SDK 与函数代码一同部署,而非是使用 Lambda 运行时的内置版本,那么模块化还将缩减你的函数大小。


此外,bootstrapped 募捐会的 CTO,Steve Sanders发推表示:


AWS Lambda 先已支持 Node 18!

其中包括 AWS JavaScript SDK 的 v3 版本,如果你有用到它的话那这可是个大好消息,部署中少了一样需要捆绑的东西。


开发者在使用 v3 的 SDK 时,可以只导入需要的模块,如 ListBucketsCommand 或是 S3Client 这种服务客户端:


import { S3Client, ListBucketsCommand } from "@aws-sdk/client-s3";
复制代码


Node.js 运行时中零一变动是,通过 NODE_PATH 环境变量增加了对 ES 模块解析的支持。Lambda 的运行时会在加载 ES 模块时,搜索所有 NODE_PATH 目录下的文件夹,让 AWS SDK 作为 ES 模块,或从 Lambda 层加载 ES 模块更加方便。


社区和开发者们纷纷欢迎 AWS Lambda 支持 Node.js 18 的运行时。Allianz 贸易公司的首席软件工程师Jean Burellier发推表示:


恭喜 @AWS lambda 团队推出 #NodeJS 18,比其他版本都要快。我还以为得再等上几个月。


同样,红迪评论串中也有人写道:


点赞!

推出速度比 Node 16 要快!


不过也有声音希望 Lambda 能支持较新版本的 Python。AWS 英雄Efi Merdler-Kravitz发推表示:


@jbesw 什么时候才能看到对 Python 11 的支持?

Node 似乎抢了所有风头。


最后,AWS Lambda文档中的 Node.js 的编程模型提供了更多关于如何在 Node.js 18 中编写函数的细节。此外,开发者还可以在审查代码兼容性问题后,通过修改运行时配置至 nodejs16.x,将其现有的 Node.js 函数迁移到新的运行时。


原文链接:

AWS Lambda Now Has Support for Node.js 18 Runtime


相关阅读:

2022 re:Invent InfoQ 特别报道

AWS数据库迁移服务:将Oracle数据库迁移到MySQL

2022-12-25 08:004792

评论

发布
暂无评论
发现更多内容

面试大厂被算法难倒惨遭滑铁卢?这份字节内部大佬整理的《数据结构与算法》学习笔记你一定要看看!

Java架构之路

Java 程序员 架构 面试 编程语言

基于 Flink SQL CDC 的实时数据同步方案

Apache Flink

《HTML5与CSS3基础教程(第8版)》.pdf

田维常

电子书

《用户网络行为画像》.pdf

田维常

电子书

《一线架构师实践指南》.pdf

田维常

电子书

深入理解Java虚拟机第三版,通俗易懂,大牛带你轻松搞懂JVM性能调优

Java架构之路

Java 程序员 架构 面试 编程语言

架构师训练营第一期 - week7

习习

央行数字货币为人民币国际化之路提供推动力

CECBC

数字货币

《从零开始学微信小程序开发》.pdf

田维常

电子书

《Docker全攻略》.pdf

田维常

电子书

《循序渐进Linux (第2版)》.pdf

田维常

电子书

配置企业管理系统,什么样的工作流才有用

雯雯写代码

工作流 企业管理系统

《编写高质量代码——改善Java程序的151个建议》.pdf

田维常

电子书

《系统架构:复杂系统的产品设计与开发》.pdf

田维常

电子书

大数据处理黑科技:揭秘PB级数仓GaussDB(DWS) 并行计算技术

华为云开发者联盟

数据库 并行算子 计算

《MySQL技术内幕(第5版)》.pdf

田维常

电子书

《腾云:云计算和大数据时代网络技术揭秘》.pdf

田维常

电子书

《零成本实现Web性能测试——基于Apache JMeter》.pdf

田维常

电子书

区块链+能源 大放异彩

CECBC

区块链 能源

聆听无声的话语:手把手教你用ModelArts实现手语识别

华为云开发者联盟

AI 图像识别 手语

《数据结构与算法分析:Java语言描述》.pdf

田维常

电子书

《Java虚拟机并发编程》.pdf

田维常

电子书

《实战Java高并发程序设计》.pdf

田维常

电子书

《自己动手写网络爬虫》.pdf

田维常

电子书

《MySQL开发者SQL权威指南》.pdf

田维常

电子书

《人人都是架构师:分布式系统架构落地与瓶颈突破》.pdf

田维常

电子书

《Python源码剖析》.pdf

田维常

电子书

Nginx-技术专题-入门教程

洛神灬殇

《Go语言实战》.pdf

田维常

电子书

《Java Web企业项目实战》.pdf

田维常

电子书

阿里云视频云技术专家 LVS 演讲全文:《“云端一体”的智能媒体生产制作演进之路》

阿里云视频云

媒体 音视频

AWS Lambda现可支持Node.js 18运行时_语言 & 开发_Steef-Jan Wiggers_InfoQ精选文章