0과 1을 공부하다.

[ETC] YAML 문법 정리 본문

Study/ETC

[ETC] YAML 문법 정리

Developer_Jay 2024. 5. 21. 13:32
728x90

 

YAML

사람이 읽기 쉬운 데이터 직렬화 형식
주로 설정 파일과 데이터 저장에 사용됨.

 

 

개요

 

  • YAML은 데이터 직렬화 포맷(data serialization formats)이다.
  • YAML은 원래 "Yet Another Markup Language"의 약어로 시작되었으나 YAML의 주된 목적이 단순 마크업(MarkUp)이 아닌 데이터를 직렬화하는 것이 강조되면서 "YAML Ain't Markup Language"라는 재귀적 약어로 변경되었다.
  • 확장자는 .yaml 을 사용한다.

 

 

문법

 

 

1. 들여쓰기(Indent)

  • YAML에서 들여쓰기는 기본적으로 2칸 또는 4칸을 지원함. (space Indent)
  • Space Indent 기준으로 2칸을 표준적으로 가장 많이 씀.
# 2칸 인덴트
metadata:
  name: python-sample-deployment
  namespace: default
  
# 4칸 인덴트
metadata:
    name: python-sample-deployment
    namespace: default

 

 

 

2. 데이터 정의(map)

  • 데이터는 Key:value 형식으로 정의함
  • ':'으로 구분 후 1칸을 띄운 후 value를 기입한다.
# <Key>: <value>
name: python-sample-deployment

 

 

3. 배열 정의(array)

  • 배열은 '-'으로 개별 줄에 나열 할 수 있고 '[]'으로 한줄로 표현할 수 있다.
# 여러 줄로 표현
lang: 
  - python
  - java
  - php
  
# 한줄로 표현
lang: [python,java,php]

 


4. 주석(comment)

  • #을 사용함.
# 이건 주석이다.
name: python-sample-deployment

 

 

5. 참/거짓, 숫자 표현

  • true, false(대소문자 구분 X) 이외에도 yes, no도 지원함.
# true, false, yes, no 모두 사용 가능하다.
chk: true
chk: false
chk: yes
chk: no

 

  • 숫자는 따옴표(")로 감싸면 문자열(string)으로 인식한다.
version: 1.2 # Number Type
version: “1.2” # String Type

 

 

6. 줄바꿈(newline)

  • 리터럴 스타일 (Literal Style) : “|” 지시어는 마지막 줄바꿈이 포함된다.
  • 폴디드 스타일 (Folded Style) :  ”>” 지시어는 중간에 들어간 빈줄이 제외된다. 
  • 리터럴 스타일 (Literal Style)  - 블록 스칼라: “|-” 지시어는 마지막 줄바꿈을 제외된다.

 

 

주의사항

  • key와 value 사이에는 반드시 빈칸이 필요하다. (1. 들여쓰기(Indent) 내용 참고)
  • 콜론(:)이 들어간 문자열을 포함하려면 반드시 따옴표로 감싼다.
name:python-sample-deployment # (X) 잘못된 문법: key/value 사이에는 간격이 필요하다.
name: python-sample-deployment # (O) 옳은 문법

score: 6:2 # (X) 잘못된 문법: 콜론(:)을 문자열로 사용하려면 따옴표로 감싸야 한다.
score: "6:2" # (O) 옳은 문법

 

 

Tip !

 

 

  • json2yaml : json 포맷을 YAML으로 변환하는 사이트
 

JSON to YAML Online Converter

Convert JSON to YAML and slim down your data with the json2yaml online editor

www.bairesdev.com

 

  • yaml Lint: yaml 문법 점검 사이트 
 

YAMLlint - The YAML Validator

 

www.yamllint.com

 

 

 

참고 사이트

 

  • 인프런 - 초보를 위한 쿠버네티스 안내서(subicura) 강의 내용

 

 

 

 

※ 본 게시글의 정보가 잘못 되었거나 부족한 부분에 대한 피드백을 환영합니다.

 

 

* CopyRight 2024. Jay Park All rights reserved.

 

728x90
Comments