DMS Airflow は、DAG が成功または失敗した際にアラートで通知する機能をサポートしています。組み込みの DMS メッセージ通知を使用するか、カスタム SMTP メールサービスを設定してアラートメールを送信できます。
前提条件
Airflow 環境をセットアップ済みであること。
DMS メッセージ通知の使用
-
対象のコードリポジトリに移動します。
-
依存関係を設定します。
from airflow.providers.alibabadms.cloud.notifications.dms_notification import DmsNotifier -
アラート通知を設定します。
デフォルトでは、アラート通知はワークスペース管理者に送信されます。受信者は通知管理で変更できます。
-
失敗アラート:
DAGにon_failure_callbackパラメータを追加し、値をlambda context: DmsNotifier(success=False).notify(context)に設定します。 -
成功アラート:
DAGにon_success_callbackパラメータを追加し、値をlambda context: DmsNotifier(success=True).notify(context)に設定します。
コード例:
dag = DAG( dag_id='iac_ove_test', on_failure_callback=lambda context: DmsNotifier(success=False).notify(context), on_success_callback=lambda context: DmsNotifier(success=True).notify(context) )説明上記の設定は DAG レベルでアラートを設定するため、DAG の実行ごとに通知は 1 件のみ送信されます。各タスクごとに個別の通知を送信するには、
on_failure_callbackとon_success_callbackを DAG のdefault_argsに配置してください。 -
カスタムメールサービスの使用
SMTP サービスパラメータと Airflow 接続を設定することで、カスタムメールサービスを使用して Airflow のアラート通知メールを送信できます。設定は、次の 2 つの手順で構成されています。
-
Airflow インスタンスの設定オプションで SMTP サービスパラメータを設定します。
-
メールの認証情報を保存するために、Airflow で
smtp_default接続を作成します。
Airflow は、両方の手順が完了した後にのみアラートメールを送信できます。
手順 1:SMTP サービスパラメータの設定
DMSコンソールV5.0 にログインします。
-
コンソールの左上の
アイコンをクリックし、 を選択します。説明非コンパクトなコンソールモードを使用している場合は、上部メニューから を選択します。
-
Airflow インスタンスを含むワークスペース名をクリックし、左側メニューで を選択します。
-
対象の Airflow インスタンスの [Operation] 列で、[Configuration Options] をクリックします。
-
表示されるダイアログボックスで [Add Configuration Option] をクリックし、次の SMTP 設定オプションを追加します。
重要smtp.smtp_sslとsmtp.smtp_starttlsは相互排他的な暗号化方式であり、同時にTrueに設定できません。設定オプション
値の例
説明
smtp.smtp_hostsmtp.qiye.aliyun.comメールサービスプロバイダーが提供する SMTP サーバーアドレス
smtp.smtp_port465SMTP サービスのポート。通常、SSL では 465、STARTTLS では 587 です。
smtp.smtp_sslTrueSSL 暗号化を有効にするかどうか。有効にする場合は、
smtp.smtp_starttlsをFalseに設定します。smtp.smtp_starttlsFalseSTARTTLS 暗号化を有効にするかどうか。有効にする場合は、
smtp.smtp_sslをFalseに設定します。smtp.smtp_mail_fromsender@example.comアラートメールの送信元メールアドレス
smtp.smtp_usersender@example.comSMTP サーバー認証用のログインアカウント。通常は送信元アドレスと同じです。
-
[Confirm] をクリックします。
設定が有効になるまで待ちます。Airflow インスタンスのステータスが [Deploying] に変わり、その後 [Running] に戻ると、設定が有効になったことを示します。
手順 2:Airflow 接続の設定
SMTP サービスパラメータを設定した後、メールの認証情報を保存するために Airflow 接続を設定します。
-
対象の Airflow インスタンスの [Operation] 列で、[Open] をクリックして Airflow Web UI にアクセスします。
-
左側メニューで を選択します。
-
右上の [Add Connection] をクリックし、次のパラメータを設定します。
パラメータ
値
説明
[接続 ID]
smtp_default固定値です。この値は変更しないでください。Airflow はデフォルトでこの ID を使用して SMTP の認証情報を取得します。
[接続タイプ]
SMTP
SMTP を選択します。
[Login]
メールアドレス
smtp.smtp_userの設定値と同じにする必要があります。[Password]
メールパスワード
メールアカウントのログインパスワード、またはアプリ固有のパスワード (認証コード)
-
[Save] をクリックします。
設定完了後、DAG で EmailOperator を使用するか、email_on_failure = True を設定してアラートメールをトリガーし、SMTP 設定が動作することを確認できます。
> [Airflow Instance]