開放原始碼儲存庫 - AWS Lambda

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

開放原始碼儲存庫

AWS Lambda 提供各種開放原始碼工具、程式庫和元件,協助您建置、自訂和最佳化無伺服器應用程式。這些資源包括執行時間界面用戶端、事件程式庫、容器基礎映像、開發工具和範例專案,這些專案由 GitHub 維護 AWS 和提供。透過利用這些開放原始碼儲存庫,您可以擴展 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 AWS Lambda,為提供類型提示、資料驗證和功能 AWS 的事件提供內建結構描述,類似於編譯語言程式庫提供的功能。

容器基礎映像

AWS 提供開放原始碼容器基礎映像,您可以用來做為建置 Lambda 函數容器映像的起點。這些基礎映像包括執行時期介面用戶端,以及在 Lambda 執行環境中執行函式所需的其他元件。

如需有關可用基礎映像及其使用方式的詳細資訊,請參閱 AWS Lambda Base Images 儲存庫和使用容器映像建立 Lambda 函數

開發工具

AWS 提供額外的開放原始碼開發工具,協助您建置和最佳化 Lambda 函數:

的 Powertools AWS Lambda

的 Powertools AWS Lambda 使用基本公用程式簡化無伺服器開發,以防止重複處理,以及多記錄處理和 Kafka 消費者程式庫的批次處理。這些功能可協助您將程式碼複雜度與營運負擔降至最低。

您也可以利用內建事件結構描述驗證、結構化記錄和追蹤,以及參數存放區整合,這些整合旨在加速建立生產就緒的 Lambda 函數,同時遵循架構 AWS 良好的最佳實務。

GitHub 儲存庫:

Java 開發工具

  • Java Profiler (實驗階段):用於分析 Java Lambda 函式的工具。

  • Java 程式庫:此儲存庫彙整了用於 Lambda 開發的完整 Java 程式庫與工具集合,包含 JUnit 測試實用工具、效能分析工具等核心專案。

  • 無伺服器 Java 容器:此程式庫能讓您在 Lambda 上執行現有的 Java 應用程式,所需修改極少。

.NET 開發工具

AWS Lambda .NET 儲存庫提供 Lambda 開發的 .NET 程式庫和工具,包括 等關鍵專案,適用於 .NET CLI 和 .NET Core 伺服器用於託管 .NET Core 應用程式 AWS Lambda 的工具。

專案範例

Serverless Land 儲存庫中探索 Lambda 範例專案和應用程式的完整集合。這些範例示範了各種 Lambda 使用案例、整合模式與最佳實務,能協助您開始使用無伺服器應用程式。