如何修复渲染 SLS 失败:Jinja 语法错误:预期令牌',',得到':'?

Posted

技术标签:

【中文标题】如何修复渲染 SLS 失败:Jinja 语法错误:预期令牌\',\',得到\':\'?【英文标题】:How to fix rendering SLS failed: Jinja syntax error: expected token ',', got ':'?如何修复渲染 SLS 失败:Jinja 语法错误:预期令牌',',得到':'? 【发布时间】:2021-07-14 23:46:03 【问题描述】:

我在这一行有一个特殊的错误:

 % set icinga_ticket = salt['http.query'](https://ticket-generator.az.dev.com method=POST header_dict='"Content-Type":"application/json"' data="'\"hostname\": \"minion.node.jio.com\"'" backend=requests) %

我明白了:

rendering SLS 'base:icinga.icinga2_core' failed: Jinja syntax error: expected token ',', got ':'

如何解决这个错误?

【问题讨论】:

【参考方案1】:

尝试使用, 分隔选项并引用非变量,如下所示:method='POST'

 % set icinga_ticket = salt['http.query']('https://ticket-generator.az.dev.com', method='POST', header_dict='"Content-Type":"application/json"', data="'\"hostname\": \"minion.node.jio.com\"'", backend='requests') %

顺便看看 icinga2 模块:https://docs.saltproject.io/en/latest/ref/modules/all/salt.modules.icinga2.html#salt.modules.icinga2.generate_ticket

【讨论】:

以上是关于如何修复渲染 SLS 失败:Jinja 语法错误:预期令牌',',得到':'?的主要内容,如果未能解决你的问题,请参考以下文章

RENDERERS salt渲染器

理解 JINJA 模板

flask基础之jinja2模板-语法定义

Flask 的 template模板 与 jinja2语法

如何修复反应过多的重新渲染错误?

文件渲染失败怎么回事