阿里云飞天发布时刻,领先大模型限免,超7000万 tokens免费体验 了解详情
写点什么

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:005158

评论

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

软件测试/测试开发丨移动端App自动化之App控件定位

测试人

软件测试 自动化测试 测试开发

Hologres技术揭秘:JSON半结构化数据的极致分析性能

阿里技术

json 半结构化数据

HummerRisk 使用教程: 多云检测

HummerCloud

云安全

都想成为架构师,那架构师需要掌握哪些知识体系呢?

基于TiDB+Flink实现的滑动窗口实时累计指标算法

TiDB 社区干货传送门

应用适配 HTAP 场景实践 大数据场景实践 实时数仓场景实践 OLTP 场景实践

GitHub开源2小时Star破10万,阿里Java高并发集合手册终是被公开

Java 高并发 集合框架

TiDB Operator常见问题和解决步骤(一)

TiDB 社区干货传送门

实践案例 集群管理 管理与运维 故障排查/诊断

bytebase让你爱上tidb的开源审核神器。

TiDB 社区干货传送门

6.x 实践

审计录像是什么意思?堡垒机有审计录像功能吗?

行云管家

堡垒机 审计 审计日志 审计录像

龙蜥 Node.js/WebAssembly SIG 重磅发布 Node.js/Noslate 性能优化白皮书

OpenAnolis小助手

node.js Web 白皮书 龙蜥社区 sig

集群3副本丢失2副本-unsafe-recover

TiDB 社区干货传送门

实践案例 管理与运维 6.x 实践

基于TiDB Binlog架构的主备集群部署及数据同步操作手册

TiDB 社区干货传送门

管理与运维

TiDB Operator常见问题和解决步骤(二)

TiDB 社区干货传送门

故障排查/诊断

利用自动化平台可以做的那亿点事 |得物技术

得物技术

自动化

TiDB 数据库大版本升级-基于TiCDC异机升级

TiDB 社区干货传送门

迁移 版本升级

熹微~~~基于Vue开发的昏暗风格的响应式网页!

京茶吉鹿

前端 项目 vue cli

GitHub开源几分钟被下架!神作《Spring Boot实战项目》竟昙花一现

Java 微服务 Spring Boot 框架

ChatGPT也BUG?带你走进ChatGPT背后的网络基础设施

郑州埃文科技

人工智能 ChatGPT

DTALK直播预约 | 数据资产管理:金融机构数据价值释放的必经之路

袋鼠云数栈

数据资产管理

微服务架构中的链路超时分析

Java 架构 微服务

飞针测试的流程有哪些?华秋一文告诉你

华秋电子

软件测试/测试开发丨利用 pytest 玩转数据驱动测试框架

测试人

软件测试 自动化测试 测试开发 pytest

和细胞一样优雅的 TiDB Region 设计

TiDB 社区干货传送门

TiDB 底层架构

数据丢失不用怕,火山引擎DataLeap 提供排查解决方案

字节跳动数据平台

大数据 数据治理 数据研发 企业号 3 月 PK 榜

TiDB × 阿里云试用体验(随迟但到)

TiDB 社区干货传送门

版本测评

ElasticSearch 拼音搜索自定义扩展插件(长拼音序列)

alexgaoyh

中文分词 分词 Elastic Search 自定义插件

数据擘画资产全景 AI诊断故障真因

用友BIP

火山引擎A/B测试产品——DataTester 私有化架构分享

字节跳动数据平台

私有化部署 ab测试 A/B 测试 企业号 3 月 PK 榜

〖产品思维训练白宝书 - 认知篇①〗- 产品思维能够为我们带来多大的价值?

哈哥撩编程

产品经理 产品思维

2023年广州堡垒机采购选哪家好?咨询电话多少?

行云管家

等保 堡垒机 等级保护 广州

三种Web通信技术之间的差异

郑州埃文科技

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