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?
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With