使用 SAM 时,AWS sam build 和 sam package 有啥区别?

Posted

技术标签:

【中文标题】使用 SAM 时,AWS sam build 和 sam package 有啥区别?【英文标题】:What's the difference between AWS sam build and sam package when using SAM?使用 SAM 时,AWS sam build 和 sam package 有什么区别? 【发布时间】:2020-11-13 14:06:40 【问题描述】:

我正在构建一些无服务器应用程序并尝试使用 SAM。我一直在阅读一些教程,有些使用sam build,而另一些使用sam package

这些命令有什么区别?好像 sam 包比较难用。

【问题讨论】:

【参考方案1】:

您可能会看到一些旧教程使用sam package,但此命令正在/正在执行的任务现在已内置到sam deploy 命令中,因此您无需再手动执行。

今天常见的调用顺序是init -> build -> deploy

至于这两者之间的区别,build 在本地预处理您的项目文件,而 package 用于压缩您的项目,将其推送到 S3 存储桶并返回一个处理过的模板(替换代码引用),您随后将部署该模板(这个压缩、推送到 s3 和部署现在由deploy 命令处理)。

【讨论】:

以上是关于使用 SAM 时,AWS sam build 和 sam package 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

运行 AWS sam 本地调用时 Python 未找到模块

AWS API Gateway 仅在使用 SAM 时支持 CORS for OPTIONS(没有 Lambda 代理集成)

使用 aws cdk 创建 sam canary 部署

SAM命令失败:ImportError:无法导入名称AliasedEventEmitter

AWS Sam 部署失败

是否可以使用 AWS SAM 配置具有不同 lambda 版本的不同 API Gateway 阶段