0

在此处输入图像描述 我正在尝试将模板配置与 aws cloudformation 一起使用(使用 aws codepipeline)。这个想法是为不同的堆栈或更改集(测试或产品堆栈)使用相同的 SAM 模板的不同配置文件。我做了所有的配置

 Template* build-output::ciSamTemplate.yml
 Template configuration build-output::ciDevTagConfig.json

但我收到错误“模板配置无效”。我的模板配置文件具有以下最低配置。

{
  "Parameters" : {
    "env" : "dev",
    "apiStage" : "tagDev"
  },
  "StackPolicy" : {
    "Statement" : [
      {
        "Effect" : "Allow",
        "NotAction" : "Update:Delete",
        "Principal": "*",
        "Resource" : "*"
      }
    ]
  }
}

我不确定是什么导致此模板配置文件失败?我不知道我该如何调试?

4

4 回答 4

3

我有这个错误是因为 codepipeline 配置文件使用与标准 cloudformation 参数文件不同的格式。请参阅此要点-> https://gist.github.com/gad/4bc7f716bc57e42b64e1ef450be9bae8

于 2019-01-05T06:58:26.450 回答
2

我有点晚了,但也许它可以帮助将来的人。

我遇到了同样的问题,不得不将我的模板配置文件的编码从UTF-8 BOM更改为普通的 UTF-8,这对我有用。

于 2018-02-08T13:41:43.570 回答
0

我收到此错误是因为模板配置的 json 无效

于 2019-11-06T16:13:59.163 回答
0

当参数文件的 JSON无效时,可能会出现此错误消息。

JSON 遵循严格的语法规则。

例如,如果您缺少逗号或花括号,那么您的 JSON 将无效。

如果您向 CloudFormation 传递 JSON 格式的参数文件,则该参数文件中的任何语法错误都会触发此消息。

您可以通过将 JSON 粘贴到在线 JSON 语法检查器中来解决此问题,或者通过在任何支持语法突出显示的现代编辑器(例如 VS Code)中查看 JSON 来解决此问题。这将向您显示任何缺少的逗号、冒号或大括号。

在我的情况下,我有一个额外的逗号,但任何 JSON 语法错误都会做同样的事情。

于 2022-03-04T15:26:30.850 回答