.env 파일 변수를 PythonOperator에 적용할 경우 질문드립니다!
185
작성한 질문수 21
안녕하세요! 강사님
서울시 공공데이터 API를 이용해 데이터를 추출하는 것을 보고
저도 넥슨 오픈 API를 가지고 데이터를 출력해보려고 DAG과 PythonOperator를 만들어봤는데요,

보통 민감정보는 .env파일에다 적어놓고 가져와서 사용하기에 이렇게 짰는데,
.env파일은 gitignore에 들어가니 dag실행시 읽어올 수가 없는데
이런 경우는 어떻게 할까요...?
강의에서 보여주신 것처럼 서울시 공공 api에서 simplehttpoperator를 사용하고, airflow웹에서 variable 변수를 사용했듯이 이것도 이렇게 해야할까요..?!
답변 1
0
안녕하세요 rosy 님
.env 파일을 .gitignore에 등록했던 이유는 로컬 환경에 작성한 .env의 내용은 Airflow 컨테이너가 바라볼 필요가 없기 때문이었습니다.
그런데 .env 파일에 민감정보를 넣고 git 을 이용하여 배포하는 순간 .env에 존재하는 민감정보가 github에 올라가므로 좋은 방법은 아닌 것 같습니다.
그래서 이 경우 가장 좋은 것은 variable에 등록하고 꺼내는 방법일 것 같습니다.
그리고 uri와 file_path는 굳이 환경변수로 셋팅할 필요가 없을 듯 합니다.
넥슨 API를 이용하여 추출할 DAG이 여러 개 생긴다면 그때마다 환경변수로 정의 후 꺼내오는 것보다 그냥 DAG에 직접 넣는 것이 낫습니다.
api_key만 variable에서 꺼내오도록 오퍼레이터의 로직을 수정하고, api_key 파라미터는 task 파라미터로써 굳이 입력받지 않아도 될 것 같습니다. (넥슨 API 키가 여러 개여서 선택해야 하는 경우가 아니고 단 하나이므로)
pykrx 회원제 전환으로 인한 실습 불가
0
114
2
수료증 발급
0
84
3
에러 발생 관련 질문드립니다.
0
83
2
vscode 작업화면에 오류가 발생하지 않습니다.
0
69
2
plugins 폴더 생성
0
76
2
WSL에서 git push 가 안되요 ㅠ
0
115
2
chatGPT&Airflow로 블로그 자동 포스팅하기 는 Deprecated 가 필요합니다.
0
67
2
github에 회원가입이 안되는데 원인이 뭔지 모르겠어요 ㅠ
0
738
2
설치중인데 venv를 꼭 써야할까요?
0
126
2
설치 버전 관련 질문입니다.
0
68
1
우분투 버전 다운받아야하는데 어떤걸로 설치해야할까요?
0
62
1
DAG 만들기 중 airflow 패키지 로드 에러
0
106
2
3.0에서도 수업노트가 성립하는지 확인 부탁드립니다!
0
95
3
task_id 사용법이 뭔가 바뀐 것 같습니다.
0
76
3
email operator 오류 관련
0
66
2
plugins 폴더 관련
0
100
2
bash operator 관련 문의입니다
0
78
3
스케쥴러 - DAG 파싱 부하 줄이는 과정 질문
0
79
2
Dags refresh 주기 관련 질문
0
125
2
wsl 관련 질문입니다.!
0
75
2
macOS에서 docker 설치
0
94
2
템플릿 변수에 대한 오류
0
61
2
custom_image 디렉토리 문의드립니다.
0
54
2
ETL 인터뷰 관련 문의
0
103
2





