开源存储库
AWS Lambda 提供各种开源工具、库和组件,帮助您构建、自定义和优化无服务器应用程序。这些资源包括由 AWS 维护并在 GitHub 上提供的运行时接口客户端、事件库、容器基础映像、开发工具和示例项目。通过利用这些开源存储库,您可以扩展 Lambda 的功能、创建自定义运行时、处理来自各种 AWS 服务的事件,并深入了解函数的性能。本页概述了支持 Lambda 开发的主要开源项目。
运行时接口客户端
Lambda 运行时接口客户端 (RIC) 是一些开源库,用于实现运行时 API 并管理函数代码与 Lambda 服务之间的交互。这些客户端负责接收调用事件、传递上下文信息以及报告错误。
Lambda 托管运行时和容器基本映像所使用的运行时接口客户端均作为开源发布。当您构建自定义运行时或扩展现有运行时时,可以使用这些开源库来简化实现。以下开源 GitHub 存储库包含 Lambda RIC 的源代码:
有关使用这些客户端构建自定义运行时的更多信息,请参阅构建 AWS Lambda 的自定义运行时系统。
事件库
Lambda 事件库提供类型定义和帮助程序实用程序,用于处理来自各种 AWS 服务的事件。这些库可帮助您以类型安全的方式解析和处理事件数据,从而更轻松地处理来自 Amazon S3、Amazon DynamoDB 和 Amazon API Gateway 等服务的事件。
对于编译语言,AWS 提供以下事件库:
对于 Node.js、Python 和 Ruby 等解释型语言,事件可以直接解析为 JSON 对象,而无需单独的库。但是,使用 Node.js 和 Python 的开发人员可以利用 powertools for AWS Lambda,它为 AWS 事件提供内置架构,其提供类型提示、数据验证和类似于编译语言库提供的功能。
容器基本映像
AWS 提供开源容器基本映像,您可以将其作为构建 Lambda 函数容器映像的起点。这些基本映像包括运行时接口客户端以及在 Lambda 执行环境中运行函数所需的其他组件。
有关可用基本映像及其使用方法的更多信息,请参阅 AWS Lambda 基本映像
开发工具
AWS 提供了其他开源开发工具来帮助您构建和优化 Lambda 函数:
Powertools for AWS Lambda
Powertools for AWS Lambda 通过必要的实用程序简化无服务器开发以防止重复处理,以及用于多记录处理和 Kafka 使用者库的批处理。这些功能可帮助您最大限度地减少代码复杂性和运营开销。
您还可以利用内置事件架构验证、结构化日志记录和跟踪以及参数存储集成,这些功能旨在加速创建生产就绪型 Lambda 函数,同时遵循 AWS 架构完善的最佳实践。
GitHub 存储库:
Java 开发工具
-
Java Profiler(实验性)
- 一款用于分析 Java Lambda 函数的工具。 -
Java 库
- 一个包含用于 Lambda 开发的全面 Java 库和工具的存储库,其中包括 JUnit 测试实用程序和分析工具等关键项目。 -
无服务器 Java 容器
- 一个使您能够以最少更改在 Lambda 上运行现有 Java 应用程序的库。
.NET 开发工具
AWS Lambda .NET
示例项目
在 Serverless Land 存储库