错误:无法读取输入对象(不是Template?):将YAML转换为JSON:YAML时出错:此上下文中不允许映射值



这个错误意味着什么?是压痕造成的吗?有没有办法自动对齐yaml文件

我试着通过对齐等方法来修复它,但没有成功,我的詹金斯构建也失败了。

- name: SPLUNK_LOG_TOKEN
valueFrom:
secretKeyRef:
name: splunk-secret
key: splunk.token
- name: SPLUNK_LOG_URL             //error in this line
valueFrom:
configMapKeyRef:
name: splunk-config
key: splunk.url

以下是无效的YAML(在两项中(:

- name: SPLUNK_LOG_TOKEN
valueFrom:

这是因为valueFromname更缩进。因此,YAML认为valueFrom是标量SPLUNK_LOG_TOKEN的延续。然而,:随后结束了一个隐式映射密钥。隐式映射键在多行标量上下文中是被禁止的,因此产生了错误。

有没有任何方法可以自动对齐yaml文件

YAML中的缩进是语义的一部分(就像Python中一样(。您基本上是在问是否可以猜测缩进严重的文件的预期语义。虽然这在理论上并非不可能(我的意思是,您可以在StackOverflow上就YAML语法问题训练神经网络;我已经见过无数次这个特定的问题(,但我认为不存在现成的解决方案。

你的问题的可能解决方案是

- name: SPLUNK_LOG_TOKEN
valueFrom:

然而,我不能百分之百确定;也许你更想做一些类似的事情

- name:
id: SPLUNK_LOG_TOKEN
valueFrom:

如果CCD_ 6应该是CCD_。

突出显示的是无效的yaml模式。- name: SPLUNK_LOG_TOKEN- name: SPLUNK_LOG_URL

应该是像这个

- name: 
name: SPLUNK_LOG_TOKEN
valueFrom:
secretKeyRef:
name: splunk-secret
key: splunk.token
- name:             
name: SPLUNK_LOG_URL 
valueFrom:
configMapKeyRef:
name: splunk-config
key: splunk.url

如果你像我一样是JSON爱好者,那么你可以试试这个在线转换器https://www.json2yaml.com/convert-yaml-to-json

当我刚接触yaml时,我曾经编写较小的JSON数据块,并使用https://www.json2yaml.com/convert-yaml-to-json转换为YAML格式。网上也有其他可用的工具,但从个人经验来看,我更喜欢这个。

最新更新