What to do when we want to send a Slack notification telling us how many values have we processed in our DAG? I suggest doing it like this:
Table of Contents
-
First, we have to store the value in the XCom. We can do it by returning the value from the PythonOperator. In this case, Airflow will automatically store it in XCom using the
return_value
as the key. -
In the following step, we can define a
SlackAPIPostOperator
that uses a template to retrieve the value from XCom and puts it in the message sent to a Slack channel:
```python from airflow.operators.slack_operator import SlackAPIPostOperator
send_to_slack = SlackAPIPostOperator( task_id=’notify_slack’, channel=’#airflow’, username=’Airflow’, text=”DAG run {{ execution_date }} processed {{ task_instance.xcom_pull(‘other_task’, key=’return_value’) }} values.” slack_conn_id=’slack_connection_id’ )
Get Weekly AI Implementation Insights
Join engineering leaders who receive my analysis of common AI production failures and how to prevent them. No fluff, just actionable techniques.