To access an Oracle DB from an AWS Lambda function developed with node.js, you need to package you Lambda with shared libraries from Oracle’s Instant Client. The install instructions are here ( http://oracle.github.io/node-oracledb/INSTALL.html#quickstart ) but the only part that is really needed is the download location (since there’s no specific instructions for bundling the libs with an AWS Lambda): https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
Not all the Oracle Instant Client files are needed. From this older npm module to automate the packaging of the required libraries, I used this same list of required libraries:
libclntshcore.so.19.1 libclntsh.so.19.1 libmql1.so libipc1.so libnnz19.so libons.so (not packaged in current Instant Client) libociicus.so libaio.so (from separate download - see next step)
libaio – if you’re on a Linux platform you can ‘apt-get install libaio’ or similar, but building my Lambda on a Mac I had to manually download the package and extract just the .so file from here (download the Arch Linux x64 package): https://pkgs.org/download/libaio
Put these in a /lib dir and zip up the folder and files. Use this to create a Lambda Layer.
For the Lambda itself install the node.js module for the api:
npm install –save node-oracledb
For examples in api usage, see the examples here: https://github.com/oracle/node-oracledb/tree/master/examples