如何从KubernetesPodOperator返回数据

drkbr07n  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(1)|浏览(105)

用dag体

result = KubernetesPodOperator(
    task_id=task_id,
    name=task_name,
    cmds=["pipenv", "run", "python3", "myscript.py"],
    env_vars=env_vars,
    image=image # docker image
)

字符串
myscript.py中,结果将是整数

def myfunction():
    ''' Perform a series of operations '''
    return result

myfunction()


出于某种原因,我需要运行myscript.py,它将返回dag所需的结果。使用env_vars,数据将能够从dag脚本传递到myscript.py,但是如何将数据传递回dag脚本呢?PS:我知道xcom可以帮助任务之间的通信,但不确定它是否适用于这种情况

yyhrrdl8

yyhrrdl81#

KubernetesPodOperator处理XCom值的方式与其他运算符不同。为了从Pod传递XCom值,您必须将do_xcom_push指定为True。这将创建一个在Pod旁边运行的sidecar容器。Pod必须将XCom值写入/airflow/xcom/return. json路径中的该位置。
详情请参阅此

相关问题