AWS SAM CLI - AWS Serverless Application Model

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

AWS SAM CLI

AWS Serverless Application Model Command Line Interface (AWS SAMCLI) 是用於本機開發和測試無伺服器應用程式的命令列工具。 AWS SAMCLI 可讓您在本機建置、轉換、部署、除錯、封裝、初始化和同步無伺服器應用程式,然後再部署到雲端。

AWS SAMCLI 適用於使用不同架構和基礎設施做為程式碼 (IaC) 工具定義的無伺服器應用程式,支援程度不盡相同:

  • AWS SAM 範本 – 透過完整的功能集提供原生支援,包括本機測試、偵錯、封裝和部署功能。

  • AWS CDK 應用程式 – 在您使用 cdk synth 命令將 AWS CDK 應用程式合成至 AWS CloudFormation 範本後,支援 Lambda 函數的本機測試。

  • AWS CloudFormation 範本 – 提供直接相容性,因為 AWS SAM 延伸 AWS CloudFormation支援標準 AWS CloudFormation 範本中定義的無伺服器資源。

  • Terraform 應用程式 – 為 Lambda 函數的建置和本機測試提供有限的支援。要求您產生代表 Terraform 定義 Lambda 函數的 AWS SAM 範本成品。

如需最全面的功能支援和簡化的開發人員體驗,建議使用原生 AWS SAM 範本。

如何記錄 AWS SAMCLI命令

AWS SAMCLI 命令會以下列格式記錄:

  • 提示 – 預設會記錄Linux提示,並顯示為 ($ )。對於Windows特定命令,會使用 (> ) 做為提示。鍵入命令時,請不要包含該提示。

  • 目錄 – 命令必須從特定的目錄執行時,該目錄名稱會顯示在提示符號的前方。

  • 使用者輸入 – 於命令列輸入的命令文字採用 user input 格式。

  • 可取代的文字 – 變數文字,例如檔案名稱和參數,會格式化為可取代的文字。在需要特定鍵盤輸入的多行命令或命令中,鍵盤輸入也可以顯示為可取代的文字。例如, ENTER

  • 輸出 – 傳回做為命令回應的輸出格式為 computer output

下列sam deploy命令和輸出為範例:

$ sam deploy --guided --template template.yaml Configuring SAM deploy ====================== Looking for config file [samconfig.toml] : Found Reading default arguments : Success Setting default arguments for 'sam deploy' ========================================= Stack Name [sam-app]: ENTER AWS Region [us-west-2]: ENTER #Shows you resources changes to be deployed and require a 'Y' to initiate deploy Confirm changes before deploy [y/N]: ENTER #SAM needs permission to be able to create roles to connect to the resources in your template Allow SAM CLI IAM role creation [Y/n]: ENTER #Preserves the state of previously provisioned resources when an operation fails Disable rollback [y/N]: ENTER HelloWorldFunction may not have authorization defined, Is this okay? [y/N]: y Save arguments to configuration file [Y/n]: ENTER SAM configuration file [samconfig.toml]: ENTER SAM configuration environment [default]: ENTER
  1. sam deploy --guided --template template.yaml 是您在命令列輸入的命令。

  2. sam deploy --guided --template 應照原樣提供。

  3. template.yaml 可以取代為您的特定檔案名稱。

  4. 輸出從 開始Configuring SAM deploy

  5. 在輸出中, ENTERy 表示您提供的可取代值。