【问题标题】:Unable to run python - pyodbc in aws lamdba无法运行 python - aws lambda 中的 pyodbc
【发布时间】:2021-09-11 05:20:13
【问题描述】:

无法在 aws lamdba 中执行 pyodbc

AWS Lamba 上的错误。

这是python代码。

        import requests  
        import pyodbc as po
        
        server = '*****'
        database = '*****'
        username = '*****'
        password = '******'
        
        def lambda_handler(event, context):
        
        cnxn = po.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=' +
                          server + ';DATABASE=' + database + ';UID=' + username + ';PWD=' + password)
        cursor = cnxn.cursor()
        
        # Prepare the stored procedure execution script
        storedProc = "exec usp_getproducts"
        
        # Execute Stored Procedure With Parameters
        cursor.execute(storedProc)
        
        # Iterate the cursor
        print(cursor.fetchone())
        print(1)
        
        # Close the cursor and delete it
        cursor.close()
        del cursor
        
        # Close the database connection
        cnxn.close()

这是pyodbc的包文件。

我已经制作了上述文件的 zip 并在 Lambda 函数中上传。

请帮忙看看在 AWS lambda 函数中部署 python 代码的更好方法是什么。

【问题讨论】:

    标签: python amazon-web-services aws-lambda


    【解决方案1】:

    您已经提到 - “我已经制作了上述文件的 zip 并在 Lambda 函数中上传。”。您是否使用正确的 python 版本创建了一个层并在上述 lambda 函数中添加了该层?

    错误显示找不到pyodbc包。请阅读此AWS documentation 以创建图层。

    记住一件事,你必须首先创建一个名为“python”的文件夹,然后将这里的所有文件 pyodbc 放在这个 python 文件夹中。然后压缩python文件夹,创建层的时候上传zip文件。

    【讨论】:

    • 是的,我也在图层中添加了那个 zip 文件,但也没有用。能否请您发送需要包含在步骤中的 pyodbc 包。
    • 我已经编辑了我的答案,添加了python文件夹的概念,请检查并尝试
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-10
    • 1970-01-01
    • 1970-01-01
    • 2018-12-21
    • 2017-05-29
    • 2016-10-27
    • 2018-06-09
    相关资源
    最近更新 更多