首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >sam包与aws云格式包

sam包与aws云格式包
EN

Stack Overflow用户
提问于 2019-11-12 16:50:59
回答 2查看 6K关注 0票数 6

这个医生说他们做的事情完全一样:

本节中描述的sam包和sam命令分别与它们的AWS CLI等效命令aws cloudformation包和aws cloudformation部署完全相同。

但我的经验表明这并不完全正确。当我为我的基于Java的Lambda运行sam deploy时,它得到一个被上传到具有这种压缩结构的S3的工件:

  • META-INF
  • com/示例/etc,类文件
  • logback.groovy,其他资源
  • lib,里面有我所有的罐子

这在Lambda中执行得很好。但是,当我遵循Lambda + CodePipeline文档并使用aws cloudformation时,我得到了这个压缩结构(本质上是我的git ):

  • README.md
  • 建造/建造
  • build.gradle
  • buildspec.yml
  • 事件
  • 级/级
  • gradlew
  • gradlew.bat
  • src/
  • template.yml

注意:这种替代结构甚至发生在CodeBuild之外,所以我怀疑它与buildspec.yml中的内容有什么关系。我可以简单地通过调用桌面上的两个不同的包命令来再现这两个结构。

有什么不同吗?我想了解它,特别是因为在我将buildspec.yml切换到使用sam deploy之前,文档说它们应该是相同的。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-15 09:36:05

“cloudformation”和“aws cloudformation”一样愚蠢。区别来自“sam”,它将构建一个新的“template.yaml”,并将其放置在“{app_dir}/..aws sam/ build /template.yaml”和依赖项下。

这个新的'template.yaml‘由'sam包’使用(而不是'{app_dir}/template.yaml'),从而在包中添加所需的依赖项。请查看“{app_dir}/..aws sam/build/”目录以了解更多信息。

如果您在目录‘{app_dir}/. as sam/build’中运行'cloudformation‘,您将得到与’same‘相同的结果。

使用sam与--调试一起查看它正在读取的模板文件:

代码语言:javascript
运行
复制
$ sam package --output-template-file packaged.yaml --s3-bucket {bucket_name} --debug
Using SAM Template at /home/ec2-user/sam-app/.aws-sam/build/template.yaml

‘'aws包’将从您指定的位置读取模板文件:

代码语言:javascript
运行
复制
$ aws cloudformation package --template-file template.yaml --output-template-file packaged.yaml --s3-bucket {my-bucket}
票数 7
EN

Stack Overflow用户

发布于 2021-08-16 14:37:17

aws cloudformation package ...有一个问题,它没有将DefinitionUri更新为SAM模板的相应S3 URI,如下所示:

代码语言:javascript
运行
复制
DemoStepFunction:
      Type: AWS::Serverless::StateMachine
      Properties:
        DefinitionUri: stepfunctions/demo_step_1.json

sam package...解决了这个问题,并创建了正确的Cloudformation模板:

代码语言:javascript
运行
复制
  DemoStepFunction:
    Type: AWS::Serverless::StateMachine
    Properties:
      DefinitionUri:
        Bucket: pipeline-demo-test1
        Key: cassdasd6565casdawwebf5f3
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58823209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档