繁体   English   中英

SAM/Serverless/CodeBuild 说明

[英]SAM/Serverless/CodeBuild clarification

我希望对我在 web 上看到的一些术语进行一些澄清,因为它与 AWS 尤其是 lambdas 相关。 对于初学者,我想知道命令sam build/deploy与设置 CodeBuild 作业是如何工作的。 我是否需要 CodeBuild 作业来运行这些命令? sam deploy命令具体查找哪些文件? 它会寻找serverless.ymltemplate.yml还是两者兼而有之? 什么是sam.yml文件或者它们已经过时了?

我有一个带有用于 lambda 的 CodeBuild 管道的应用程序,但我正在扩展我的存储库以包含多个 lambda,并考虑在每个buildspec目录中放置一个serverless.yml文件,但我不想为每一个。 我假设sam deploy搜索所有template.ymlserverless.yml文件并将您的堆栈作为一个整体构建(并且只更新需要更新的内容?)

如果对使用 API 网关感到好奇,应用程序在 Node 中。 任何见解将不胜感激。

我将尝试给出简短的答案:

  • sam deploy的作用:它将 zip 代码并在.aws-sam文件夹中创建 cloudformation yaml 文件并运行 cloudformation deploy。
  • 我们是否需要 CodeBuild 来运行相同的部署:我们仍然需要一些服务器来运行 sam deploy 或安装了节点的构建,它可以是本地计算机或远程服务器或 CodeBuild 环境。
  • 我们需要多个模板吗? 所有 Lambda 都可以在单个模板中创建。 但是 cloudformation 中的资源限制为 150 个。 如果我们在单个模板中有太多的函数和 API,我们很容易达到这个限制。 每个 api 都可能转换为多个云形成资源。 例如:1 lambda function 可以是 iam 角色、cloudwatch 日志、api 路由、方法、集成、事件源等。
  • sam deploy是否总是查找template.yaml默认是,但可以通过传递 --template-file sam deploy --template-file template-x.yml轻松覆盖
  • 仅更新更改的资源? Cloudformation 更新堆栈仅更新已更改的资源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM