簡體   English   中英

如何從 airflow 中 python 運算符的上一個任務中選擇返回值

[英]how to pick the return value from previous task of python operator in airflow

在嘗試將 python 運算符的任務的 output 捕獲到變量中時出現錯誤。 任何建議請

with DAG(
        dag_id="test_dag",
        start_date=datetime(2022, 1, 24),
        schedule_interval=None,
        render_template_as_native_obj=True,
        default_args={},
        params={
            "param2": "arya2@gmail.com",
            "sourcedir": ['/home/arya/'],
            "timenum": 0
        },
        catchup=False
) as dag:

    pythondefination = PythonOperator(
                    task_id=f"pythondefinationfunc",
                    python_callable=pythondefination,
                    provide_context=True
                    )

    def valuecapture(**kwargs):
        ti  = kwargs['ti']
        timeinfo = ti.xcom_pull(task_ids='pythondefinationfunc')
        return timeinfo
        
        
    **Error: KeyError: 'ti'

要訪問上一個任務的返回值,您可以從 xcom 讀取它,但讀取應該在 airflow 運算符中,以便訪問運行上下文:

bash_task = BashOperator(
    task_id="read_python_func_return_value",
    bash_command="echo {{ti.xcom_pull(task_ids='pythondefinationfunc')}}",
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM