在Airflow中,owner参数是用来标识任务的所有者或负责人。它通常被用作任务调度列表中的过滤器或用来发送电子邮件通知。
示例代码:
下面的示例代码中使用了一个BashOperator,以便更好地理解owner参数的用法。
from airflow.operators.bash_operator import BashOperator
from datetime import datetime
default_args = {
'owner': 'airflow',
'start_date': datetime(2021, 1, 1),
'email_on_failure': False,
'email_on_retry': False
}
with DAG('example_dag', default_args=default_args) as dag:
t1 = BashOperator(
task_id='print_date',
bash_command='date',
owner='john',
email=['john@example.com']
)
t2 = BashOperator(
task_id='echo_hello',
bash_command='echo "hello"',
owner='jane',
email=['jane@example.com']
)
t1 >> t2
在代码中,我们定义了一个DAG,并通过default_args参数指定了所有任务的所有者(owner)。然后,我们创建了两个BashOperator,每个任务都有不同的所有者和电子邮件。在这种情况下,我们用owner参数来给不同的用户设置一个任务所有权。
注意:如果没有在default_args参数中为所有任务指定所有者,则可以在每个操作符中单独指定它。如果任务没有指定所有者,则默认为‘nobody’。