AWS SAM CLI 新增 AWS CloudFormation Language Extensions 支援,以加速本機無伺服器開發

張貼日期: 2026年5月18日

AWS SAM CLI 現已支援 AWS CloudFormation Language Extensions,讓您能夠減少基礎結構即程式碼 (IaC) 範本中的重複內容,同時保留完整的本機開發工作流程。這可讓您只需定義一次資源,便能在本機反覆運作,完全不需要等待雲端部署,進一步加速無伺服器開發流程。

開發人員經常需要從單一範本定義中衍生出多個相似資源,例如 AWS Lambda 函式、Amazon DynamoDB 資料表,或 SNS 主題。然而,先前使用 SAM CLI 建置、測試與部署其無伺服器應用程式的開發人員,無法處理使用 CloudFormation Language Extensions 的範本。這使開發人員需要在減少範本重複內容與使用 SAM CLI 進行本機開發之間做出取捨。現在,SAM CLI 會在記憶體中處理 Language Extensions 以執行本機操作,同時保留原始範本供 AWS CloudFormation 部署使用。您可以只定義一次資源,並透過所有 SAM CLI 命令在本機進行測試,部署前先找出語法無效或缺少相依性等錯誤。這可縮短迭代週期,並減少在雲端除錯部署失敗問題所花費的時間。

若要開始使用,請下載 SAM CLI 或將其更新至最新版本。在您的 SAM 範本中新增 AWS::LanguageExtensions 轉換,並使用 Fn::ForEach 從單一定義產生多個資源。包括 sam build、sam local invoke、sam sync、sam local start-api 和 sam validate 在內的 SAM CLI 命令,將會自動展開您的迴圈並處理每個產生的資源。您可以透過名稱調用已展開的函式,例如 sam local invoke AlphaFunction。SAM CLI 也支援 Fn::Length、Fn::ToJsonString、具備 DefaultValue 的 Fn::FindInMap,以及條件式 DeletionPolicy 與 UpdateReplacePolicy 屬性。

若要進一步了解,請造訪 SAM CLI 開發人員指南發佈部落格文章