Amazon web services SAM/Serverless/CodeBuild澄清

Amazon web services SAM/Serverless/CodeBuild澄清,amazon-web-services,aws-lambda,amazon-cloudformation,serverless-framework,Amazon Web Services,Aws Lambda,Amazon Cloudformation,Serverless Framework,我希望能对我在网上看到的一些术语做出澄清,因为这些术语涉及AWS,特别是lambdas。对于初学者,我想了解命令sam build/deploy与设置代码构建作业的区别。我需要代码构建作业来运行这些命令吗?sam deploy命令具体查找哪些文件?它是否查找serverless.yml或template.yml或两者都查找?什么是sam.yml文件还是过时的文件 我有一个针对lambda的代码构建管道的应用程序,但我正在扩展我的repo以包含多个lambda,并考虑在每个lambda目录中放置一

我希望能对我在网上看到的一些术语做出澄清,因为这些术语涉及AWS,特别是lambdas。对于初学者,我想了解命令
sam build/deploy
与设置代码构建作业的区别。我需要代码构建作业来运行这些命令吗?
sam deploy
命令具体查找哪些文件?它是否查找
serverless.yml
template.yml
或两者都查找?什么是
sam.yml
文件还是过时的文件

我有一个针对lambda的代码构建管道的应用程序,但我正在扩展我的repo以包含多个lambda,并考虑在每个lambda目录中放置一个
serverless.yml
文件,但我不想为每个lambda目录创建代码构建作业和
buildspec
。我假设
samdeploy
搜索所有
template.yml
serverless.yml
文件,并作为一个整体构建堆栈(只更新需要更新的内容?)


如果使用API网关,则应用程序位于节点中。如果您有任何见解,我们将不胜感激。

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

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