코딜기
[Airflow] Email 전송 오퍼레이터 (Email Operator with.docker) 본문
Data Engineering/Airflow
[Airflow] Email 전송 오퍼레이터 (Email Operator with.docker)
코딜기 2024. 8. 12. 10:45반응형
Email Operator란?
- 이메일을 전송하는 오퍼레이터입니다.
- 이메일 전송을 위해 사전 세팅 작업이 필요합니다.
- 구글 메일 서버를 사용하기 때문에 G-mail에서 사전 세팅 작업이 필요합니다.
- Docker-compose.yaml 파일의 environment 항목 세팅 작업이 필요합니다.
G-mail 세팅
1. 사용할 G-mail 계정에 로그인을 한 후 G-mail에서 몇 가지 세팅을 해줍니다.
- G-mail → 설정 → 모든 설정 보기 → 전달 및 POP/IMAP → IMAP 사용 경로로 이동해 줍니다.
2. 구글 계정관리에서 몇 가지 추가 세팅을 해줍니다.
- 구글 계정관리 → 보안 → 2단계 인증 → 앱비밀번호 세팅 경로로 이동해 줍니다.
※ 발급된 앱 비밀번호 토큰은 꼭 저장해서 잃어버리지 않게 해야 합니다.
Docker-compose.yaml 세팅
1. Docker-compose.yaml 파일의 environment 부분에 아래와 같은 코드를 추가해 줍니다.
# email 설정 부분
AIRFLOW__SMTP__SMTP_HOST: 'smtp.gmail.com' # 구글을 사용
AIRFLOW__SMTP__SMTP_USER: '' # 사용자 계정 (토큰을 받은 계정)
AIRFLOW__SMTP__SMTP_PASSWORD: '' # 구글에서 발급받은 mail 토큰
AIRFLOW__SMTP__SMTP_PORT: 587 # 587 고정
AIRFLOW__SMTP__SMTP_MAIL_FROM: '' # 보내는 사람 계정
Email 보내기 DAG 작성 및 실행
email_task = EmailOperator(
task_id = 'email_task',
to = '', # 받는 사람 메일 입력
subject = 'Airflow 성공메일',
html_content = ’Airflow 작업이 완료되었습니다’
)
- 위와 같이 DAG를 작성하고 Airflow에 접속해서 태스크 실행을 하면 아래와 같이 메일이 도착한 것을 확인할 수 있습니다.
반응형
'Data Engineering > Airflow' 카테고리의 다른 글
[Airflow] Airflow Jinja 템플릿 (0) | 2024.08.13 |
---|---|
[Airflow] Task Decorator (0) | 2024.08.12 |
[Airflow] Airflow에서 외부 파일 읽기 (with.docker) (0) | 2024.05.29 |
[Airflow] airflow.cfg 개념과 각 섹션들의 기능 (0) | 2024.05.14 |
[Airflow] EC2 가상 환경에 Airflow 패키지 설치하기 (0) | 2024.05.14 |
Comments