코딜기

[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에 접속해서 태스크 실행을 하면 아래와 같이 메일이 도착한 것을 확인할 수 있습니다.

반응형
Comments