DAG导入的区别有两种?

mad*_*ad_ 0 airflow

我正在努力创造动态的dag,但似乎在一分钟失败.我遇到了两个不同的DAG对象:

cwu*_*rtz 5

两者都导入相同的DAG类.只是python导入工作方式的一个属性.

当您执行from airflow.models import DAGpython时,导入模型文件并将变量DAG分配给模型文件中定义的DAG类.

当你做from airflow import DAGpython时,导入在init .py中定义的变量DAG ,这实际上就是from airflow.models import DAG.

最小版本是:

models.py

class DAG():
    pass
Run Code Online (Sandbox Code Playgroud)

init .py

from airflow.models import DAG
Run Code Online (Sandbox Code Playgroud)

的DAG/dag_file.py

# import __init__.py which imports models.py which contains DAG
from airflow import DAG

# or this which just imports models.py which contains DAG
from airflow.models import DAG
Run Code Online (Sandbox Code Playgroud)

所有这一切,如果您的动态DAG失败,我怀疑它与此导入有关