Я пытаюсь создать функцию AWS Lambda в Python для подключения к базе данных Oracle (пока только тестовое соединение). Но у меня нет успеха, чтобы завершить поток. Каждый раз, когда я вижу это сообщение об ошибке:
{
"errorMessage": "Unable to import module 'lambda_function': No module named 'cx_Oracle'",
"errorType": "Runtime.ImportModuleError"
}
Я создал virtualenv в Ubuntu WSL, установил Oracle InstantClient в папку lib, установил cx_oracle с помощью pip в папку sites-package и создал мою лямбда-функцию в той же папке, заархивировал все файлы, загрузил на мой S3 и положить в бег.
Кто-нибудь может мне помочь?
Мой код:
import cx_Oracle
# Yeah, you need this
with open('/tmp/HOSTALIASES', 'w') as f: f.write(f'{os.uname()[1]} localhost\n')
# Oracle away!
def lambda_handler(event, context):
return str(
cx_Oracle.connect(
'username',
'password',
cx_Oracle.makedsn(
'rds.amazonaws.com', 1521, 'SOME_SID',
)
).cursor().execute('SELECT 42 FROM DUAL').fetchone()
)
Папка с моими сайтами-пакетами:
** Мой лямбда-конфиг: **