AWS: python으로 작성한 lambda 함수를 로컬에서 돌리고싶습니다.

조회수 886회

안녕하세요.

개발환경은 아래와 같습니다.

  • windows 10
  • python 3.8

이미 개발된 함수가 고장나서 수리하려다 일어난 일입니다. 이 함수 코드를 쓴 개발자는 mac 사용자였습니다 ㅠㅠ

물론 로컬에서 py filename.py로 파일을 실행해 매개변수 없이 함수가 돌아가게 하면 돌아갑니다.

aws lambda를 구성하는 매개변수 event를 사용하려면 그저 로컬에서 python 파일구동으로는 부족해서 찾아나온 패키지가 python-lambda-local입니다. 패키지에서 시키는대로 event.json파일을 쓰고 콘솔에 명령어를 입력해줬습니다.

python-lambda-local -l ./ -f handler -t 5 filename.py event.json

하지만 매뉴얼에 나온 예상 결과인

[root - INFO - 2018-11-20 17:10:53,352] Event: {'answer': 42}
[root - INFO - 2018-11-20 17:10:53,352] START RequestId: 3c8e6db4-886a-43da-a1c7-5e6f715de531 

(...)

[root - INFO - 2018-11-20 17:10:53,359] END RequestId: 3c8e6db4-886a-43da-a1c7-5e6f715de531
[root - INFO - 2018-11-20 17:10:53,360] REPORT RequestId: 3c8e6db4-886a-43da-a1c7-5e6f715de531  Duration: 2.17 ms
[root - INFO - 2018-11-20 17:10:53,360] RESULT:

과 달리 아래와 같은 메시지가 찍혔습니다.

[root - INFO - 2019-10-22 12:18:03,798] Event: {'queryStringsParameters': {'datasetId': '6a9d03d7-5204-41b0-9e34-03c45b1224d7'}}
[root - INFO - 2019-10-22 12:18:03,798] START RequestId: 1134c088-32c4-495e-9ed2-b3580451a8d7 Version: 
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "c:\users\administrator\appdata\local\programs\python\python38\lib\multiprocessing\spawn.py", line 116, in 
spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "c:\users\administrator\appdata\local\programs\python\python38\lib\multiprocessing\spawn.py", line 126, in 
_main
    self = reduction.pickle.load(from_parent)
ModuleNotFoundError: No module named 'request-1134c088-32c4-495e-9ed2-b3580451a8d7'

그래서 이 패키지에서는 좀 찾아보니 아쉽게도 윈도우에서는 돌릴 방법이 없나봅니다. 혹시라도 윈도우에서 python으로 작성한 람다함수를 돌려볼 수 있는 방법을 아는 분이 계시면 답변 부탁드리겠습니다.

감사합니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 네 SAM을 이용하면 docker 을 사용해서 환경을 구축합니다. 답변을 참고하세요. 정영훈 2019.10.22 21:56
  • docker가 대안이군요. 감사합니다. 알 수 없는 사용자 2019.10.23 11:34

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)