gpt4 book ai didi

python - Apache Airflow 如何将 xcom_pull() 值转换为 DAG?

转载 作者:太空宇宙 更新时间:2023-11-04 05:03:06 24 4
gpt4 key购买 nike

我有一个自定义运算符,它按如下方式推送 XCOM 值:

...
task_instance = context['task_instance']
task_instance.xcom_push("list_of_files",file_list)
...

它工作正常。我有一个 dag 定义文件 (my_dag.py),我在其中使用自己的运算符创建任务,它推送 XCOM 值,然后我想通过使用此 xcom 值在循环中执行。怎么拉?

最佳答案

您无法在 dag 中访问 XCOM 变量,它只能通过向运算符构造函数提供 provide_context=True 参数在运算符中使用。

如果您想在 DAG 结构本身中使用来自运算符的数据,则需要执行运算符在运算符之外执行的实际任务。

def get_file_list():
hook = SomeHook()
hook.run('something to get file list')

dag = DAG('tutorial', default_args=default_args)

for file in get_file_list():
task = SomeOperator(params={'file': file}) # Do something with the file passed as a parameter

关于python - Apache Airflow 如何将 xcom_pull() 值转换为 DAG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45218595/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com