SlackAPIPostOperator(
task_id='failure',
token='YOUR_TOKEN',
text=text_message,
channel=SLACK_CHANNEL,
username=SLACK_USER)
Вышеуказанный простейший способ использовать Airflow для отправки сообщений в Slack.
Однако, если вы хотите настроить Airflow для отправки сообщений в Slack при сбоях задач, создайте функцию и добавьте on_failure_callback
к вашим задачам с именем созданной функции slack. Пример ниже:
def slack_failed_task(contextDictionary, **kwargs):
failed_alert = SlackAPIPostOperator(
task_id='slack_failed',
channel="#datalabs",
token="...",
text = ':red_circle: DAG Failed',
owner = '_owner',)
return failed_alert.execute
task_with_failed_slack_alerts = PythonOperator(
task_id='task0',
python_callable=<file to execute>,
on_failure_callback=slack_failed_task,
provide_context=True,
dag=dag)
Использование SlackWebHook (работает только для воздушного потока> = 1.10.0):
Если вы хотите использовать SlackWebHook
, используйте SlackWebhookOperator
аналогичным образом:
https://github.com/apache/incubator-airflow/blob/master/airflow/contrib/operators/slack_webhook_operator.py#L25