发布于: Nov 29, 2018

我们宣布推出 Lambda Runtime API 和 Lambda Layers 这两项新的 AWS Lambda 功能,这些功能使开发人员能够构建自定义运行时,并且还能够共享和管理函数之间的通用代码。 

Lambda 使开发人员可以轻松地为几乎任何类型的应用程序或后端服务运行代码,而且完全无需管理。AWS Lambda 的 Runtime API 定义了一个基于 HTTP 的标准化规范,该规范描述了 Lambda 和函数运行时的通信方式。它使您能够构建与 Lambda 集成的自定义运行时,从而执行响应事件的函数。通过利用 Runtime API,您可以使用二进制文件或 shell 脚本,以及您选择的编程语言和语言版本。Runtime API 入门非常简单。使用 Lambda 管理控制台或 CLI 部署函数时,请指定您要提供自己的运行时。在调用期间,Lambda 将启动您的运行时代码并通过 Runtime API 与它通信以执行函数代码。在此版本中,我们还发布了 C++Rust 运行时的参考实现。有关 Runtime API 的更多信息,请参阅 Lambda 文档

Lambda Layers 是一种新类型的构件,可以包含任意代码和数据,并且可以同时由零个、一个或多个函数引用。无服务器应用程序中的 Lambda 函数通常共享通用依赖项,例如软件开发工具包、框架和现在运行时。通过层,您可以跨多个函数集中管理通用组件,从而实现更好的代码重用。要使用层,您只需将通用代码放在 zip 文件中,然后将其作为层上传到 Lambda。然后,您便可以配置函数来引用它。调用函数时,层内容可用于函数代码。我们还提供了一个包含用于 Python 的常用 NumPy 和 SciPy 科学库的层。这些库是预先构建的并且进行了优化,可用于 Lambda 的执行环境。通过将此层与 Python 函数一起使用,您可以快速开始构建复杂的数据处理和机器学习应用程序。有关 Lambda Layers 的更多信息,请参阅 AWS Lambda 文档

Runtime API 和 Layers 可以单独使用。您还可以将它们一起用于发布自定义运行时,然后将这些运行时共享为层。您还可以使用 AWS 无服务器应用程序模型 (SAM)SAM CLI 来测试、部署和管理利用 Runtime API 和 Layers 的无服务器应用程序。 

在此版本中,我们的一些技术合作伙伴也基于 Runtime API 和 Layers 推出了他们的服务。客户可以在新运行时和层中编写函数,包括支持其他功能(包括应用程序管理、监控和安全性)的那些函数。有关更多信息,请访问 AWS Lambda 合作伙伴页面

Runtime API 和 Layers 在提供 Lambda 的所有区域均可用。有关 AWS Lambda 可用区的更多信息,请参阅 AWS 区域表。请访问我们的产品页面,了解有关 AWS Lambda 的更多信息,或者登录 AWS Lambda 控制台开始使用。