yaml파일을 활용한 Python 코딩을 포스팅하려고 합니다.
그냥 코딩을 해도 되는데 yaml파일 활용을 왜 하는건지 궁금하시지 않을 거 같지만 알아 두는 것이 몸에 이로울 수 있습니다.
yaml을 사용하지 않는다면 Python으로 DB에 있는 정보나 aws에 있는 리소스 예를 들면 S3버킷에 있는 정보들을 활용하여 Python으로 Output을 도출해 내고 싶으면 Python에 DB정보와 aws Key정보를 하드코딩으로 담아야 합니다.
yaml을 알기전 하드코딩의 단점을 먼저 설명해 드리자면 소스코드는 외부에서 확인이 쉽습니다. 예를 들면 web은 개발자 도구에서 소스코드를 취득하기 쉬우며 cicd툴인 Airflow는 실행 중인 code를 직접 볼 수 있도록 하는 페이지가 있어
DB나 aws 정보들이 유출되기 쉬운 환경입니다.
하드코딩의 단점을 설명해 드렸으니 장점을 설명해 드리자면 딱히 없습니다. 농담이구요
yaml파일은 주로 내가 짠 코드가 실행되는 서버에 어떠한 디렉터리 한편에 모셔 두고 사용합니다.
설정 파일이니까요 json과 비슷해요
server 한편에 모셔두고 있으니 내가 짠 python 코드에는 yaml의 위치만 찍혀 있고 yaml파일에 작성된 DB정보와 aws 정보는 확인하기 어렵습니다.
쉽게 설명한 것 같아 기분이 좋네요
이제 python에서 yaml파일을 사용하기 위한 예시를 알려드리겠습니다.
/home/yamls/sangmin.yaml
access_key: K*************
secret_key: U****************************
db_info:
host: rds-***-*****************************rds.amazonaws.com
port: 3*****
user: *********
password: '#************'
database: s**********
Python
#!/usr/bin/python3
import os
base_conf = os.path.join(/home/yamls/sangmin.yaml)
code1 = base_conf['access_key']
code2 = base_conf['db_info']['host']
print(code1)
print(code1)
결과
K*************
rds-***-*****************************rds.amazonaws.com
yaml파일을 활용해서 python의 변수에 각 yaml의 정보를 담았습니다.
이제 활용하시면 됩니다.
'Programming > Python' 카테고리의 다른 글
[Python] 함수와 를 활용한 코드 분석 (0) | 2022.12.14 |
---|---|
[Python] 언어는 반복 작업을 하기 위한 도구이다 (0) | 2022.12.13 |
python selenium으로 웹노가다 자동화하기 #1 (0) | 2022.12.10 |
[Pythpn] 3.11.0버전 공개 이슈 dev/ops개발자의 시점 (0) | 2022.11.15 |
[python]linux log를 활용한 csv생성 (0) | 2022.11.14 |
댓글