XCOM文件return.json是从xcom-sidecar而不是从主容器中提取的?

时间:2019-01-24 15:06:59

标签: kubernetes airflow apache-airflow-xcom

我创建了一个容器,该容器将return.json文件复制到/airflow/xcom/return.json

在我的计算机上运行此容器将成功捕获return.json的内容。

但是,当我在KubernetesPodOperator中运行此容器时,会出现错误

file does not exist: airflow/xcom/return.json

然后我将DAG更改为给出命令,覆盖dockerfile

t1 = KubernetesPodOperator(
    namespace='airflow',
    image="myimage/test:1.0",
    name="test",
    task_id="test",
    image_pull_policy="Always",
    cmds=["bash", "-c"],
    arguments=['echo \'{}\' > /airflow/xcom/return.json'.format(myjson)],
    xcom_push=True,
    dag=dag
    )

这导致气流成功输出return.json的内容。

但是,如果这是正确的,则意味着任何XCOM结果都必须在DAG中可用,这意味着它没有从Dockerfile中获取信息(因为它似乎是从xcom内部获取/airflow/xcom/return.json -sidecar容器?),将使该功能无效。

有人可以帮忙/解释一下吗?

0 个答案:

没有答案