[Airflow] Email Operator 사용하기

2024. 1. 21. 00:56·Data Engineering/Airflow


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
'Data Engineering/Airflow' 카테고리의 다른 글
  • [Airflow] 외부 python 함수 실행하기
  • [Airflow] Python Operator 기본
  • [Airflow] Bash Operator & 외부 Shell 파일 실행하기
  • [Airflow] Task 연결하기
Doodo
Doodo
  • Doodo
    Doodo
    Doodo
  • 전체
    오늘
    어제
    • 분류 전체보기 (192)
      • CS (17)
        • Network (11)
        • Database (6)
      • Language (19)
        • Python (11)
        • SQL (6)
        • R (2)
      • Linux (17)
      • DevOps (35)
        • Git (7)
        • Docker (8)
        • Kubernetes (9)
        • GCP (4)
        • AWS (7)
      • Data Engineering (50)
        • 책 리뷰 (14)
        • Airflow (35)
        • Redis (1)
      • DBMS (21)
        • CUBRID (21)
      • ML & DL (2)
      • 코딩테스트 (24)
      • 프로젝트 (7)
        • 서울시 대기현황 데이터 적재 프로젝트 (4)
        • CryptoStream (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
Doodo
[Airflow] Email Operator 사용하기
상단으로

티스토리툴바