用於部署應用程式的選項 AWS SAM - AWS Serverless Application Model

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

用於部署應用程式的選項 AWS SAM

您可以使用手動部署應用程式 AWS SAM,也可以自動化部署。使用手動部署您的應用程式。 AWS SAMCLI若要自動化部署,請使用管道和持續整合與持續部署 (CI/CD) 系統。本節中的主題提供有關這兩種方法的資訊。

如何使用手 AWS SAMCLI動部署

在本機開發和測試無伺服器應用程式之後,您可以使用sam deploy指令來部署應用程式。

若要透過提示 AWS SAM 引導您完成部署,請指定--guided旗標。當您指定此旗標時,sam deploy命令會壓縮您的應用程式成品、將它們上傳到 Amazon Simple Storage Service (Amazon S3) (針對 .zip 檔案存檔) 或 Amazon Elastic Container Registry (Amazon ECR) (適用於容器映像)。然後,命令會將您的應用程式部署到 AWS 雲端。

範例:

# Deploy an application using prompts: sam deploy --guided

使用 CI/CD 系統和管線進行部署

AWS SAM 協助您使用管線和持續整合與持續部署 (CI/CD) 系統自動化部署。 AWS SAM 可用來建立管道,並簡化無伺服器應用程式的 CI/CD 工作。多個 CI/CD 系統支援 AWS SAM 建置容器映像,同時 AWS SAM 也為多個 CI/CD 系統提供一組預設管線範本,以封裝 AWS最佳部署作法。

如需詳細資訊,請參閱 使用 CI/CD 系統和管道進行部署 AWS SAM

逐步部署

如果您想要逐步部署 AWS SAM 應用程式,而不是一次全部部署,您可以指定 AWS CodeDeploy 提供的部署組態。若要取得更多資訊,請參閱《使用指南》 CodeDeploy中的〈AWS CodeDeploy 使用部署規劃

如需設定 AWS SAM 應用程式以逐步部署的相關資訊,請參閱逐步部署無伺服器應用程式 AWS SAM

疑難排解使用的部署 AWS SAMCLI

AWS SAMCLI錯誤:「安全約束不滿意」

執行時sam deploy --guided,系統會提示您提供問題HelloWorldFunction may not have authorization defined, Is this okay? [y/N]。如果您使用 N (預設回應) 回應此提示,您會看到下列錯誤:

 
Error: Security Constraints Not Satisfied
            

提示會通知您即將部署的應用程式可能已在未經授權的情況下設定 Amazon API Gateway API。通過響N應此提示,您說這是不確定的。

若要修正此問題,您有下列選項:

  • 使用授權配置您的應用程序。如需有關配置授權的資訊,請參閱使用 AWS SAM 範本控制API存取

  • 回應此問題,指Y出您可以部署具有未經授權設定 API Gateway API 的應用程式。

進一步了解

如需部署無伺服器應用程式的實作範例,請參閱完整 AWS SAM 研討會的下列內容:

  • 單元 3-手動部署 — 瞭解如何使用 AWS SAMCLI.

  • 單元 4-CI/CD — 瞭解如何透過建立持續整合與交付 (CI/CD) 管道,將建置、封裝和部署階段自動化。