部署无服务器应用程序 - AWS Serverless Application Model
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

部署无服务器应用程序

AWS SAM 使用 AWS CloudFormation 作为基础部署机制。有关更多信息,请参阅 什么是AWS CloudFormation?.

您可以使用来部署应用程序 AWS SAM 命令行界面(CLI)命令。您还可以使用与集成的其他AWS服务 AWS SAM 以自动执行您的部署。

部署无服务器应用程序的标准输入是使用 sam构建。有关 sam build 命令,请参阅 构建无服务器应用程序.

使用部署 AWS SAM CLI(国际商业网)

在本地开发和测试无服务器应用程序后,您可以使用 sam deploy 命令。

如果您想 AWS SAM 要通过提示指导您完成部署,请指定 --guided 标记。当您指定此标志时, sam deploy 命令压缩应用程序工件,将它们上传到 Amazon Simple Storage Service (人Amazon S3),并将您的应用程序部署到AWSCloud。

示例:

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

发布无服务器应用程序

的 AWS Serverless Application Repository 是一项托管无服务器应用程序的服务,使用 AWS SAM. 如果要与他人共享无服务器应用程序,您可以在 AWS Serverless Application Repository. 您还可以搜索、浏览和部署已由其他人发布的无服务器应用程序。有关更多信息,请参阅 什么是 AWS Serverless Application Repository?.

自动化部署

您可以使用 AWS SAM 与许多其他AWS服务一起,以自动执行无服务器应用程序的部署过程。

  • CodeBuild:您使用 CodeBuild 构建、本地测试和打包无服务器应用程序。有关更多信息,请参阅什么是 CodeBuild?

  • CodeDeploy:您使用 CodeDeploy 为您的无服务器应用程序实现逐步部署更新。有关更多信息,请参阅逐步部署无服务器应用程序

  • CodePipeline:您使用 CodePipeline 以对发布无服务器应用程序所需的步骤进行建模、可视化和自动化。有关更多信息,请参阅什么是 CodePipeline?

Troubleshooting

SAMCLI错误: “安全限制不满意”

执行时 sam deploy --guided,提示您提出问题 HelloWorldFunction may not have authorization defined, Is this okay? [y/N]。如果您对“n”(默认响应)回复此提示,您会看到以下错误:

 
Error: Security Constraints Not Satisfied
            

提示通知您,要部署的应用程序可能会有一个 API 网关 未经授权配置API。通过响应“n”到此提示(默认),表示这不是正确的。

要解决这个问题,您可以选择以下选项:

  • 通过授权配置应用程序。有关配置授权的信息,请参阅 控制对的访问 API 网关 APIs.

  • 对“Y”的这个问题作出回应,表明您正在部署具有 API 网关 未经授权配置API。