简体   繁体   中英

how to query RDS SQL Server database in AWS lambda using python?

I am trying to connect to AWS RDS SQL Server instance to query table from AWS Lambda using python script. But, I am not seeing any AWS api so when I try using "import pyodbc" seeing the below error.

Unable to import module 'lambda_function': No module named 'pyodbc'

Connection:

 cnxn = pyodbc.connect("Driver={SQL Server};"
                        "Server=data-migration-source-instance.asasasas.eu-east-1.rds.amazonaws.com;"
                        "Database=sourcedb;"
                        "uid=source;pwd=source1234")

Any points on how to query RDS SQL Server?

The error you're getting means that the lambda doesn't have the pyodbc module.

You should read up on dependency management in AWS Lambda. There are basically two strategies for including dependencies with your deployment - Lambda Layers or zip with the deployment package .

If you're using the Serverless Framework then Serverless-python-requirements is an excellent package for managing your dependencies and lets you choose your dependency management strategy with minimal changes to your application.

you need to upload the dependencies of the lambda along with the code. If you deploy your lambda manually (ie create a zip file / right from the console), you will need to attach the pyodb library. (More information is available here: https://docs.aws.amazon.com/lambda/latest/dg/python-package.html#python-package-dependencies ).

If you're using any other deployment tool (serverless, SAM, chalice), it will be much easier: https://www.serverless.com/plugins/serverless-python-requirements , https://aws.github.io/chalice/topics/packaging.html#rd-party-packages , https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-using-build.html

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM