Amazon Simple Notification Service (Amazon SNS) 通知操作指南

简介

Amazon SNS 通知器 SnsNotifier 允许用户在 DAG 级别和任务级别使用各种 on_*_callbacks 将消息推送到 SNS 主题。

示例代码:

from datetime import datetime
from airflow import DAG
from airflow.providers.standard.operators.bash import BashOperator
from airflow.providers.amazon.aws.notifications.sns import send_sns_notification

dag_failure_sns_notification = send_sns_notification(
    aws_conn_id="aws_default",
    region_name="eu-west-2",
    message="The DAG {{ dag.dag_id }} failed",
    target_arn="arn:aws:sns:us-west-2:123456789098:TopicName",
)
task_failure_sns_notification = send_sns_notification(
    aws_conn_id="aws_default",
    region_name="eu-west-2",
    message="The task {{ ti.task_id }} failed",
    target_arn="arn:aws:sns:us-west-2:123456789098:AnotherTopicName",
)

with DAG(
    dag_id="mydag",
    schedule="@once",
    start_date=datetime(2023, 1, 1),
    on_failure_callback=[dag_failure_sns_notification],
    catchup=False,
):
    BashOperator(
        task_id="mytask",
        on_failure_callback=[task_failure_sns_notification],
        bash_command="fail",
    )

此条目是否有帮助?