【问题标题】:How to get pyodbc connection on AWS MWAA Airflow DAG?如何在 AWS MWAA Airflow DAG 上获得 pyodbc 连接?
【发布时间】:2021-03-02 07:36:45
【问题描述】:

我尝试将MWAA Airflowpyodbc=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


【解决方案1】:
import pymssql

conn = pymssql.connect(
            server=server,
            user=username,
            password=password,
            database=database
        )
query ="select IDpk,name,Remarks from TestTable"
df = pd.read_sql(query,conn)
猜你喜欢
  • 2021-08-19
  • 2020-11-02
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 2022-07-12
  • 2022-07-05
  • 1970-01-01
相关资源
最近更新 更多