Airflow中models.User模块位置及是否为遗留模块的咨询
问题解答
是的,models.User 是Airflow 1.x版本的遗留模块,在Airflow 2.x及以后的稳定版本中已被重构迁移。
具体变化说明:
- Airflow 2.x对认证与用户管理模块进行了全面重构,原
airflow.models.User模块被迁移至新路径,且默认集成Flask-AppBuilder(FAB)作为认证管理框架。 - 在Airflow 2.x+中,用户模型的标准导入路径变为
airflow.providers.fab.auth_manager.models.user.User,也可通过FAB内置API完成用户操作。
Airflow 2.x+ 替代示例代码:
如果需要创建用户,可参考以下写法:
from airflow.providers.fab.auth_manager.models.user import User from airflow.settings import Session session = Session() new_user = User(username="test_user", email="test@example.com") new_user.set_password("test_password") session.add(new_user) session.commit() session.close()
文档差异说明:
你看到的稳定版文档(Airflow 2.x+)中models索引没有user模块,是因为该模块已从原路径移除;而Airflow 1.10.9作为旧版本保留了当时的模块结构,因此仅能在旧版文档中找到相关内容。
内容的提问来源于stack exchange,提问作者AdamKay
相关产品推荐
相关产品推荐

