Amazon web services jinja内部AWS云形成的内在功能
我有一个用于AWS云形成的jinja宏,我试图计算一个jinja表达式,该表达式也有一个内在的云形成函数,如:Amazon web services jinja内部AWS云形成的内在功能,amazon-web-services,jinja2,amazon-cloudformation,Amazon Web Services,Jinja2,Amazon Cloudformation,我有一个用于AWS云形成的jinja宏,我试图计算一个jinja表达式,该表达式也有一个内在的云形成函数,如: {{ ${Ref: MyParam}.capitalize() }} 基本上,我希望访问MyParam参数,然后将第一个字母大写,但jinja不会计算参数。它给出: jinja2.exceptions.TemplateSyntaxError 如何实现这一点?是Python的模板语言。这意味着您可以在CloudFormation配置yaml/json文件中使用它,以获得一些基本逻辑,对
{{ ${Ref: MyParam}.capitalize() }}
基本上,我希望访问MyParam参数,然后将第一个字母大写,但jinja不会计算参数。它给出:
jinja2.exceptions.TemplateSyntaxError
如何实现这一点?是Python的模板语言。这意味着您可以在CloudFormation配置yaml/json文件中使用它,以获得一些基本逻辑,对于重复的组件尤其有用
有一个限制,您不能在Jinja中计算AWS内在函数。换句话说,Jinja首先执行,然后Jinja构建的任何内容都作为普通的yml/json传递给CloudFormation
在您的示例中:{{${Ref:MyParam}.capitalize()}
${Ref:MyParam}
对Jinja没有任何意义,也就是说,您没有想要大写的参数值。首先构建Jinja模板,然后在部署时CloudFormation知道MyParam是什么,因此它从参数中获取其值并替换配置中的占位符