【发布时间】:2021-03-02 07:36:45
【问题描述】:
我尝试将MWAA Airflow 和pyodbc=4.0.30 的requirements.txt 和代码中的连接字符串设为类似
dbconnection = pyodbc.connect("Driver={ODBC Driver 17 for SQL Server};Server="+Server+";Database="+Database+";UID="+UserID+";PWD="+Password, autocommit=True)
现在错误是Broken DAG: [/usr/local/airflow/dags/test.py] No module named 'pyodbc'
Airflow 版本:1.10.12
几乎没有任何关于SQL Server/ Postgres 基于MWAA AWS 连接的文档,特别是对于pyodbc 连接,我之前用lambda functions 遇到了这个问题,并用lambda layers 解决了这个问题,但不确定@ 987654331@ 工作,任何建议表示赞赏。
请不要推荐任何其他技术,例如 EC2 来托管 Airflow,因为该公司非常严格地使用 MWAA Airflow。
【问题讨论】:
-
您似乎正在尝试直接使用 pyodbc。在这种情况下,这就像代码中的任何其他 python 包一样。不是真的 Airflow 或 mwaa 相关?在 Airflow 中,如果您想使用 ODBC,您应该安装 ODBC 提供程序 pypi.org/project/apache-airflow-backport-providers-odbc 并使用 OdbcHook - 该挂钩适用于您将在 Admin -> Connections 中定义的 ODBC 连接。
标签: python-3.x amazon-web-services airflow pyodbc mwaa