使用 .zip 封存檔建置和部署 C# Lambda 函數 - AWS Lambda

使用 .zip 封存檔建置和部署 C# Lambda 函數

.NET 部署套件 (.zip 封存檔) 包含函數的編譯組件,及其所有的組件相依項。該套件也包含 proj.deps.json 檔案。這會對 .NET 執行期發出訊號,告知函數的所有相依項和用於設定執行期的 proj.runtimeconfig.json 檔案。

若要部署個別 Lambda 函數,您可以使用 Amazon.Lambda.Tools .NET Lambda Global CLI。若使用 dotnet lambda deploy-function 命令,系統會自動建立 .zip 部署套件並部署至 Lambda。不過,我們建議您使用 AWS Serverless Application Model (AWS SAM) 或 AWS Cloud Development Kit (AWS CDK),將 .NET 應用程式部署到 AWS。

無伺服器應用程式通常包含 Lambda 函數和其他受管 AWS 服務的組合,搭配使用以執行特定業務工作。AWS SAM 和 AWS CDK 簡化了透過其他 AWS 服務大規模建置和部署 Lambda 函數的作業。AWS SAM 範本規範提供了簡單而清晰的語法,用於描述構成無伺服器應用程式的 Lambda 函數、API、許可、組態和其他 AWS 資源。您可以使用 AWS CDK 將雲端基礎架構定義為程式碼,協助您運用 .NET 等現代程式設計語言,在雲端建置可靠、可擴展且經濟實惠的應用程式。AWS CDK 和 AWS SAM 都是使用 .NET Lambda Global CLI 來封裝函數。

雖然可以使用 .NET Core CLI,以 C# 函數使用 Lambda 層,但建議不要這麼做。使用層的 C# 函數會在 初始化階段 中手動載入共用組件,這可能會增加冷啟動時間。相反,在編譯時納入所有共用程式碼,避免在執行時期載入組件對效能產生影響。

如需使用 AWS SAM、AWS CDK 和 .NET Lambda Global CLI 建置和部署 .NET Lambda 函數的相關說明,請參閱以下各節。