gpt4 book ai didi

amazon-s3 - AWS - SAM cli yaml 模板不适用于 cloudformation 堆栈

转载 作者:行者123 更新时间:2023-12-03 07:40:23 30 4
gpt4 key购买 nike

我在使用 aws CloudFormation 时遇到问题...我想因为我是新人,所以我错过了一些东西......

所以我在我的 Mac 上安装了 sam cli,它生成了这个 .yaml 文件然后我进入云形成并尝试将此文件上传到堆栈

在创建过程中它给了我一个错误:

Transform AWS::Serverless-2016-10-31 failed with: Invalid Serverless 
Application Specification document. Number of errors found: 1. Resource
with id [HelloWorldFunction] is invalid. 'CodeUri' is not a valid S3 Uri
of the form 's3://bucket/key' with optional versionId query parameter..
Rollback requested by user.

我应该在这里做什么?我正在尝试创建一个带有 s3 文件上传触发器的 lambda 函数,并且我需要 CloudFormation 的 .yaml 文件来描述所有服务和触发器...我发现很难找到一个有效的模板...

我应该如何解决这个问题?当 cli 生成的 yaml 文件不起作用时?当尚未创建 lambda 函数时,CloudFormation 是否不应该初始化此类函数?

非常感谢

最佳答案

AWS SAM 使用的模板比 AWS CloudFormation 可以解释的模板更灵活。您在这里遇到的问题是,AWS SAM 可以将文件系统上的相对路径作为 lambda 函数的 CodeUri 进行处理,但是 CloudFormation 需要 S3 uri 来检索要上传到 lambda 的函数代码。

您应该看看 sam package命令。此命令将解决所有特定的问题(例如,它将代码上传到 S3 并替换模板中的 CodeUri)。并创建一个“打包模板”文件,您可以将其上传到 CloudFormation。

您还可以使用sam deploy命令,该命令将打包模板并将其部署到cloudformation本身。

关于amazon-s3 - AWS - SAM cli yaml 模板不适用于 cloudformation 堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70328441/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com