使用 Go Lambda 函數的層 - AWS Lambda

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

使用 Go Lambda 函數的層

Lambda 層是含有補充程式碼或資料的 .zip 封存檔。層通常具備程式庫相依性、自訂執行期或組態檔案。建立層包含三個一般步驟:

  1. 封裝層內容。這表示建立 .zip 封存檔,其中包含您要在函數中使用的相依項。

  2. 在 Lambda 中建立層。

  3. 將層新增至函數中。

我們不建議使用層來管理以 Go 編寫的 Lambda 函數的相依項。這是因為以 Go 編寫的 Lambda 函數會編譯為單一可執行檔,您在部署函數時該檔會提供給 Lambda。此可執行檔包含經過編譯的函數程式碼及其所有相依項。使用層不僅會使程序複雜化,還會導致冷啟動時間增加,因為函數需要在初始化階段期間將額外的組件載入記憶體。

若要在 Go 處理常式中使用外部相依項,請直接將其包含在部署套件中。如此一來,您既能簡化部署程序,又能利用內建的 Go 編譯器最佳化。如需如何在函數中匯入和使用適用於 Go 的 AWS SDK 等相依項的範例,請參閱定義 Go 格式的 Lambda 函數處理常式