rw-r-r- 1 jeffwang wheel 60B 29 May 14: 31 pip-selfcheck.jsonĭrwxr-xr-x 13 jeffwang wheel 442B 29 May 14: 32 psycopg2 # deactivate # mv lib/python2.7/site-packages/py4j /ĭownload psycopg2 # copy psycopg2 to your project root directory # git clone https: ///alexcasalboni/awslambda-psycopg2.git # cp -r awslambda-psycopg/psycopg2 / # ls -lĭrwxr-xr-x 6 jeffwang wheel 204B 29 May 14: 32 awslambda-psycopg2ĭrwxr-xr-x 16 jeffwang wheel 544B 29 May 14: 31 binĭrwxr-xr-x 3 jeffwang wheel 102B 29 May 14: 31 includeĭrwxr-xr-x 3 jeffwang wheel 102B 29 May 14: 31 lib (lambda_package) # ls -ld lib/python2.7/site-packages/py4jĭrwxr-xr-x 23 jeffwang wheel 782 29 May 14: 16 lib/python2. New python executable in / private/tmp/lambda_postgres/bin/python # cd /tmp/ # virtualenv lambda_postgres
install py4j if you need it as dependency However, it doesn't work for psycopg2, lucky that you can use this pre-built psycopg2 library to connect to PostgreSQL. The easiest way to do this was to just use the Python virtualenv functionality to get required library ready. When using Python libraries that Lambda does not natively provide, you'll need to add them to the Lambda deployment package.
This blog post addresses how to access to PostgreSQL and provides the code, including scripts for some of the steps described in the tutorial.įirst of all, let's talk about the dependencies. AWS provides a tutorial on how to access MySQL databases from a python Lambda function, but we're heavily using PostgreSQL.