#java #json #yaml
#java #json #yaml
Вопрос:
Что означает эта ошибка? Это из-за отступа? Есть ли какой-либо способ автоматического выравнивания файлов yaml
Я попытался исправить это, выровняв и т.д., Но это не сработало, и моя сборка jenkins завершается сбоем.
- name: SPLUNK_LOG_TOKEN
valueFrom:
secretKeyRef:
name: splunk-secret
key: splunk.token
- name: SPLUNK_LOG_URL //error in this line
valueFrom:
confi&MapKeyRef:
name: splunk-confi&
key: splunk.url
Ответ №1:
Недопустимый YAML (в обоих элементах):
- name: SPLUNK_LOG_TOKEN
valueFrom:
Это потому, что valueFrom
имеет больший отступ, чем name
. Таким образом, YAML считает, что это valueFrom
продолжение скаляра SPLUNK_LOG_TOKEN
. Однако :
следует, который завершает неявный ключ сопоставления. И неявные ключи сопоставления запрещены в многострочном скалярном контексте, отсюда и ошибка.
Есть ли какой-либо способ автоматического выравнивания файлов yaml
Отступ в YAML является частью семантики (как в Python). По сути, вы спрашиваете, можете ли вы угадать предполагаемую семантику для файлов с плохим отступом. Хотя теоретически это не невозможно (я имею в виду, вы могли обучить нейронную сеть вопросам синтаксиса YAML в StackOverflow; я видел эту конкретную проблему бесчисленное количество раз), я не думаю, что существует легко применимое решение.
Вероятным решением вашей проблемы является
- name: SPLUNK_LOG_TOKEN
valueFrom:
однако я не могу быть уверен на 100%; возможно, вы скорее хотите сделать что-то вроде
- name:
id: SPLUNK_LOG_TOKEN
valueFrom:
if valueFrom
должно быть дочерним элементом name
.
Ответ №2:
Выделенное значение является недопустимым шаблоном 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:
confi&MapKeyRef:
name: splunk-confi&
key: splunk.url
Если вы такой же любитель JSON, как я, то вы можете попробовать этот онлайн конвертерhttps://www.json2yaml.com/convert-yaml-to-json
Когда я был новичком в yaml, я записывал меньшие фрагменты данных JSON и преобразовывал их с помощью онлайн-https://www.json2yaml.com/convert-yaml-to-json в формат YAML. В Интернете доступны и другие инструменты, но, исходя из личного опыта, я предпочел этот.