Serverless

Lambda가 있는 API 게이트웨이 - "'서버' 모듈을 가져올 수 없음: '서버'라는 모듈이 없습니다"

Hello Everyone,

Cloud9 환경에서 https://github.com/fortejas/example-serverless-python-api 에 따라 typescript를 사용하여 serverless-api를 설정하려고 했습니다 . 배포가 성공했지만 REST API 끝점에 액세스하면 다음과 같이 표시됩니다. 다음 오류

curl -d POST https://8egyaaan6f.execute-api.ap-southeast-2.amazonaws.com/prod/update {"message": "내부 서버 오류"}

[ERROR] Runtime.ImportModuleError: Unable to import module 'server': No module named 'server'
Traceback (most recent call last):

추가 조사에서 오류는 https://github.com/fortejas/example-serverless-python-api/blob/main/lambda-api/server.py 와 관련된 것으로 보입니다. 도움을 주시면 감사하겠습니다.

Tue Jan 11 05:32:21 UTC 2022 : Endpoint response body before transformations: {"errorMessage": "Unable to import module 'server': No module named 'server'", "errorType": "Runtime.ImportModuleError", "requestId": "0be79d0e-e10b-4651-8838-b4e8dff65143", "stackTrace": []}
Tue Jan 11 05:32:21 UTC 2022 : Lambda execution failed with status 200 due to customer function error: Unable to import module 'server': No module named 'server'. Lambda request id: 0be79d0e-e10b-4651-8838-b4e8dff65143
Tue Jan 11 05:32:21 UTC 2022 : Method completed with status: 502




Hi,

오류 메시지에서 Lambda 함수가 server.py 파일에 있는 Handler 메서드를 찾을 수 없는 것 같습니다. Lambda는 server.py 파일을 찾으려고 시도하지만 찾을 수 없습니다. 이 문서 에서 Python Lambda 핸들러 설정에 대한 자세한 내용을 읽을 수 있습니다.

Lambda 함수를 확인하고 폴더 구조를 확인하고 구성된 핸들러의 경로가 올바른지 확인하십시오.

예를 들어 "PythonLambda"라는 Lambda 함수에 다음 폴더 구조가 있다고 가정해 보겠습니다.

PythonLambda (This is the top Level folder which will have the same name as the Lambda function)
  -> lambda-api (This is a sub-folder)
      -> server.py (the server.py file is under the folder lambda-api)

내 Lambda 핸들러가 server.lambda_handler 인 경우 오류와 동일한 오류가 발생합니다.

START RequestId: 1d69b994-d660-4d64-ac74-83f6a659ae5c Version: $LATEST
[ERROR] Runtime.ImportModuleError: Unable to import module 'server': No module named 'server'
Traceback (most recent call last):END RequestId: 1d69b994-d660-4d64-ac74-83f6a659ae5c
REPORT RequestId: 1d69b994-d660-4d64-ac74-83f6a659ae5c	Duration: 1.04 ms	Billed Duration: 2 ms	Memory Size: 128 MB	Max Memory Used: 37 MB	
  • 이는 Lambda가 최상위 폴더에서 server.py를 찾으려고 시도하지만 찾을 수 없기 때문입니다.

이 Lambda를 성공적으로 호출할 수 있으려면 Lambda가 폴더에서 찾을 수 있도록 처리기를 lambda-api.server.lambda_handler 로 변경해야 합니다.

START RequestId: 3c1b9e59-7ed0-41fe-8207-abc163067f56 Version: $LATEST
END RequestId: 3c1b9e59-7ed0-41fe-8207-abc163067f56
REPORT RequestId: 3c1b9e59-7ed0-41fe-8207-abc163067f56	Duration: 0.90 ms	Billed Duration: 1 ms	Memory Size: 128 MB	Max Memory Used: 37 MB	


더 나은 GPU로 클라우드 기능