ParameterOverrides 的 CloudFormation 语法
CloudFormation syntax for ParameterOverrides
我在将它们传递给 CodePipeline 的 CloudFormation 中覆盖多个参数时遇到困难。
我可以像这样成功覆盖单个参数:
ParameterOverrides: "{ \"StageName\": \"stage\" }"
但是当我尝试这个时:
ParameterOverrides: '{ "StageName": "prod", "EnvValue", "prod" }'
我也试过这些组合:
ParameterOverrides: "{\"StageName\": \"prod\", \"EnvValue\", \"prod\"}"
Codepipeline 抛出错误:ParameterOverrides 属性 无效
这篇帮助文章我已经看了六遍了,看来我是按照 T 的格式来的。
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-parameter-override-functions.html
我错过了什么?有没有人在 CloudFormation 模板中使用此功能?
我发现问题出在哪里了,胖手指。
我把这个:
ParameterOverrides: "{\"StageName\": \"prod\", \"EnvValue\", \"prod\"}"
应该是这样的:
ParameterOverrides: "{\"StageName\": \"prod\", \"EnvValue\": \"prod\"}"
注意:第二个键后缺少冒号。
在处理 YAML 中嵌入的 JSON 时,折叠 (>
) 或文字 (|
) 块样式而不是引号字符串会提高清晰度。所以像:
ParameterOverrides: >
{
"StageName": "prod",
"EnvValue": "prod"
}
这将使您看到实际的 JSON,而不会受到反斜杠转义的影响。这可以在您链接到的页面的 "Example Create Stack B Stage" 部分中看到(它使用带有 |
的文字块样式)。 |
和 >
之间的区别可以在 YAML Multiline 网站上看到。
我在将它们传递给 CodePipeline 的 CloudFormation 中覆盖多个参数时遇到困难。
我可以像这样成功覆盖单个参数:
ParameterOverrides: "{ \"StageName\": \"stage\" }"
但是当我尝试这个时:
ParameterOverrides: '{ "StageName": "prod", "EnvValue", "prod" }'
我也试过这些组合:
ParameterOverrides: "{\"StageName\": \"prod\", \"EnvValue\", \"prod\"}"
Codepipeline 抛出错误:ParameterOverrides 属性 无效
这篇帮助文章我已经看了六遍了,看来我是按照 T 的格式来的。 https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-parameter-override-functions.html
我错过了什么?有没有人在 CloudFormation 模板中使用此功能?
我发现问题出在哪里了,胖手指。 我把这个:
ParameterOverrides: "{\"StageName\": \"prod\", \"EnvValue\", \"prod\"}"
应该是这样的:
ParameterOverrides: "{\"StageName\": \"prod\", \"EnvValue\": \"prod\"}"
注意:第二个键后缺少冒号。
在处理 YAML 中嵌入的 JSON 时,折叠 (>
) 或文字 (|
) 块样式而不是引号字符串会提高清晰度。所以像:
ParameterOverrides: >
{
"StageName": "prod",
"EnvValue": "prod"
}
这将使您看到实际的 JSON,而不会受到反斜杠转义的影响。这可以在您链接到的页面的 "Example Create Stack B Stage" 部分中看到(它使用带有 |
的文字块样式)。 |
和 >
之间的区别可以在 YAML Multiline 网站上看到。