Email Operator 란?
▪ 이메일을 전송해주는 operator
▪ Email Operator를 사용하기 위해 사전 셋팅 작업이 필요함
1. 사전 설정 작업 (Email 서버 설정)
▪ 구글 메일 서버 사용
▪ Gmail 로그인 후 [설정] -> [모든 설정 보기]로 이동
▪ [전달 및 POP/IMAP] 클릭 후, [IMAP 사용] 체크
▪ [변경사항 저장] 클릭
3. 사전 설정 작업 (앱 비밀번호 생성)
▪ [Google 계정 관리] 클릭
▪ [보안] -> [2단계 인증] 클릭
▪ 로그인 창이 뜨는데 로그인 진행
▪ [앱 비밀번호] 클릭
▪ 앱 이름 설정 후 [만들기] 클릭
▪ 그러면 앱 비밀번호가 생성되는데 복사해서 잘 저장해 두기
3. docker-compose.yaml 파일 수정
▪ docker-compose.yaml 파일 vi 편집기로 열기
vi docker-compose.yaml
▪ environment 항목에 이메일 설정 정보 추가하기
▪ 추가하고 ":wq!" 명령어로 저장하고 나오기
AIRFLOW__SMTP__SMTP_HOST: 'smtp.gmail.com' # 사용할 이메일 서버
AIRFLOW__SMTP__SMTP_USER: '{gmail 계정}' # email 계정
AIRFLOW__SMTP__SMTP_PASSWORD: '{앱 비밀번호}' # 만들었던 앱 비밀번호 넣기
AIRFLOW__SMTP__SMTP_PORT: 587 # smtp 서버 포트
AIRFLOW__SMTP__SMTP_MAIL_FROM: '{gmail 계정}' # 이메일 보낸 계정 정보
4. dags_email_operator.py
▪ 매 월 1일 8시에 dag이 실행되도록 스케줄링
▪ EmailOperator에 "to"에는 메일을 보낼 email 주소 입력
▪ "subject"는 이메일 제목, "html_content"는 이메일 내용
from airflow import DAG
from airflow.operators.email import EmailOperator
import datetime
import pendulum
with DAG(
dag_id="dags_email_operator",
schedule="0 8 1 * *",
start_date=pendulum.datetime(2023, 11, 17, tz="Asia/Seoul"),
catchup=False,
) as dag:
send_email_task = EmailOperator(
task_id='send_email_task',
to='{보낼 email}',
subject='Airflow 성공메일',
html_content='Airflow 작업이 완료되었습니다'
)
5. Dag 실행하기
▪ dag 파일 upload 후 airflow 서비스 올리기
▪ dag unpause하면 아래와 같이 메일이 전송됨을 확인
참고:
Airflow 마스터 클래스 강의 - 인프런
데이터 파이프라인을 효율적으로 만들고 관리하기 위한 Orchestration 도구인 Airflow에 대해 배우는 강의입니다. 초보자도 차근차근 배울 수 있는 Airflow 마스터 클래스, 환영합니다!, 데이터 파이프
www.inflearn.com
'Data Engineering > Airflow' 카테고리의 다른 글
[Airflow] 외부 python 함수 실행하기 (0) | 2024.01.21 |
---|---|
[Airflow] Python Operator 기본 (0) | 2024.01.21 |
[Airflow] Bash Operator & 외부 Shell 파일 실행하기 (0) | 2024.01.20 |
[Airflow] Task 연결하기 (1) | 2024.01.16 |
[Airflow] Cron 스케줄 (0) | 2024.01.16 |