Amazon 简单通知服务 (Amazon SNS) 通知操作指南¶
简介¶
Amazon SNS 通知程序 SnsNotifier
允许用户使用各种 on_*_callbacks
在 DAG 级别和任务级别将消息推送到 SNS 主题。
您还可以将通知程序与 sla_miss_callback
一起使用。
注意
当通知程序与 sla_miss_callback
一起使用时,上下文将仅包含传递给回调的值,请参阅 sla_miss_callback。
示例代码:¶
from datetime import datetime
from airflow import DAG
from airflow.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",
)