Файл XCOM return.json извлекается из xcom-sidecar, а не из основного контейнера?

Я создал контейнер, который копирует файл return.json в /airflow/xcom/return.json

Запустив этот контейнер на моей машине, вы сможете return.json,

Однако, когда я запускаю этот контейнер в KubernetesPodOperator, он выдает ошибку

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

Затем я изменил DAG, чтобы дать команду, переопределив файл Docker

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 должен быть доступен в группе обеспечения доступности баз данных, а это означает, что он не получает информацию из Dockerfile (поскольку, похоже, он получает /airflow/xcom/return.json из контейнера xcom-sidecar?), который фактически сделает эту функцию бесполезной.

Может ли кто-нибудь, пожалуйста, помочь / объяснить?

0 ответов

Другие вопросы по тегам