Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to use pyodbc with aws lambda and API Gateway

I am trying to build a AWS Lambda function using APi Gateway which utlizes pyodbc python package. I have followed the steps as mentioned in the documentation. I keep getting the following error Unable to import module 'app': libodbc.so.2: cannot open shared object file: No such file or directory when I test run the Lambda function.

Any help appreciated. I am getting the same error when I deployed my package using Chalice. It seems it could be that I need to install unixodbc-dev. Any idea how to do that through AWS Lambda?

like image 758
Akshay Saxena Avatar asked Sep 05 '25 03:09

Akshay Saxena


1 Answers

Simply untar this file from here - github - lambda_packages/pyodbc. This has .so files in it.

Now package your python code and the .so files together and upload to AWS lambda. The folder structure for your reference should look like this.

lambda_function.py
libodbc.so.2
pyodbc.so
<name_this_zip>.zip

No subfolders exist

Edit: Created a lambda layer and saved it for reuse. Get it here - https://github.com/kuharan/Lambda-Layers

like image 146
CoderWithAGoodName Avatar answered Sep 07 '25 21:09

CoderWithAGoodName