👩💻 Develope/Python
[Python] Yaml 파일 불러오기
heywantodo
2023. 12. 14. 10:24
728x90
반응형
[Python] Yaml 파일 불러오기
SQLAlchemy에서 사용할 db 커넥션 pool을 생성하는데,
DB 연결 정보와 같은 민감 정보를 yaml 파일에 저장해놓고 그걸 불러와서 사용했다.
먼저 다음과 같이 config.yaml 파일을 생성해준다.
db_config:
db_url: "mysql+pymysql://localhost:3306/fastapi_db?charset=utf8mb4"
db_pool_recycle: 900
db_echo: True
db_pool_size: 1
db_max_overflow: 1
db 커넥션 pool을 만들 파이썬 파일 하나를 생성한 후
yaml 파일을 사용하기 위해 파일 경로를 지정할 os 라이브러리와 yaml 라이브러리를 import 해준다.
import os, yaml
config파일 path를 지정해준후 with open을 통해서 yaml파일을 load한다.
config_path = os.path.join('/home/ubuntu/fastApiProject/app', 'config.yaml')
with open(config_path) as f:
config = yaml.safe_load(f)
가져온 yaml 파일은 다음과 같이 사용이 가능하다.
def init_db(self, app: FastAPI):
db_url = config['db_config']['db_url']
pool_recycle = config['db_config']['db_pool_recycle']
db_echo = config['db_config']['db_echo']
pool_size = config['db_config']['db_pool_size']
max_overflow = config['db_config']['db_max_overflow']
self._engines = create_engine(
db_url,
echo=db_echo,
pool_recycle=pool_recycle,
pool_pre_ping=True,
pool_size=pool_size,
max_overflow=max_overflow,
)
728x90
반응형