0

python 3.6을 사용하여 Amazon Linux 도커 이미지에서 pandas, numpy 및 sqlalchemy를 성공적으로 테스트했습니다. 파이썬 3.6에서 sqlalchemy 모듈의 create_engine을 사용하여 가상 환경에서 데이터베이스를 가져오고, 사용하고, 연결할 수있었습니다.sqlalchemy의 create_engine이 파이썬에서 작동하지 않습니다. 3.6 runtime for aws lambda

나는 모든 종속성을 내 보낸 다음 AWS Lambda에서 실행하기 위해 Python 배포 패키지를 만들었지 만 어떤 이유로 람다에서 create_engine의 오류가 계속 발생합니다.

모듈 'SQLAlchemy의이'더 속성 'create_engine'가 없습니다 : AttributeError

를이 내 코드입니다 :

그러나
import pandas as pd 
import numpy as np 
import sqlalchemy 
from datetime import datetime, timedelta 

def lambda_handler(event, context): 

    engine = sqlalchemy.create_engine("DB_URI") 

    return "Hello world!" 

, 나는 단순히 내가 create_engine 전화 줄을 주석하는 경우, 나는 "Hello world!"를 얻는다. 응답.

동일한 도커 환경에서 완벽하게 작동하면 create_engine이 작동하지 않는 이유가 없습니다. 어떤 아이디어?

답변

0

나는 그것을 알아 냈다. 내 파일을 압축하면 신참 실수가 있었고, 내 파이썬 모듈 폴더의 최상위 레벨을 의미하는 -r 옵션을 사용하지 않았습니다. 이 때문에 가져 오기 오류가 발생하지 않았지만 실제 메서드가 작동하지 않는 이유를 설명합니다.

그래서,이 솔루션은 재귀 적으로 모든 파일을 추가 내 zip 동작으로 -r 옵션을 추가 한 반복합니다 :

zip -r package.zip *