AWS Python Lambda с Oracle

Я пытаюсь подключиться к Oracle db из AWS Lambda используя python. Мне удалось упаковать cx_Oracle, но среда не находит зависимости.

Я cx_Oracle.so содержимое, содержащее cx_Oracle.so и cx_Oracle-5.2.1-py2.7.egg-info (созданный на 64-битном AWX Linux). Я также добавил файлы из файла instantclient-basic-linux.x64-12.1.0.2.0.zip в локальный / lib в этом zip-файле.

  • Можно ли прочитать файл с S3 в Google App Engine с помощью boto?
  • Несколько систем хранения данных Django
  • Использование кипения, scipy и numpy в амазонке лямбда
  • AWS Elastic Beanstalk не использует мой virtualenv: «Без модуля с именем boto»
  • AWS Elastic Beanstalk - время ожидания скрипта перед возвратом заголовков: application.py
  • Tesseract OCR на AWS Lambda через virtualenv
  • Ошибка, которую я получаю

     import cx_Oracle ImportError: libaio.so.1: cannot open shared object file: No such file or directory 

    Я динамически изменяю переменные среды в python следующим образом:

     oracledir = os.path.join(os.getcwd(), 'local', 'lib') libdir = os.environ['LD_LIBRARY_PATH'] + ":" + os.path.join(os.getcwd(), 'local', 'lib') command = 'LD_LIBRARY_PATH={} ORACLE_HOME={} python OracleWorker.py "{}"'.format(libdir, oracledir, args) subprocess.call(command, shell=True) 

    OracleWorker.py начинается с import cx_Oracle

  • Проблемы с лямбдой Python
  • Эквивалент для лямбда-функций Python в Java?
  • Tesseract OCR на AWS Lambda через virtualenv
  • Фильтрация столбцов в PySpark
  • Подпись под заголовком Python для сообщения S3
  • Поиск среднего списка
  • One Solution collect form web for “AWS Python Lambda с Oracle”

    Решено. Добавлены все зависимости, запустив ldd cx_Oracle.so| grep "=> /" | awk '{print $3}' | xargs -I '{}' cp -v '{}' /destination ldd cx_Oracle.so| grep "=> /" | awk '{print $3}' | xargs -I '{}' cp -v '{}' /destination ldd cx_Oracle.so| grep "=> /" | awk '{print $3}' | xargs -I '{}' cp -v '{}' /destination Добавил все эти файлы в папку lib в lambda zip

    Python - лучший язык программирования в мире.