함수를 실행할 때 AWS 계층에서 로컬로 빌드 된 편집 가능한 pip3 패키지 지정으로 전환 할 수 없음

MikeMelo91

저는 파이썬을 배우고 있으며 Spotify 청취 기록을 저장하고 처리하는 여러 개의 람다를 구축하려고 시도하고 있습니다. 나는 원래 모든 종속성이 동일한 디렉토리에 패키징되고 상대 경로를 사용하여 가져온 하나의 람다를 작성했습니다.

동일한 종속성을 사용하는 유사한 함수를 만든 후에는 함수에서 종속성을 분리하고 pip3 및 setup.py를 사용하여 빌드했습니다. pip3 list를 실행할 때 예상대로 패키지를 볼 수 있습니다. 로컬에서 함수를 실행하고 sam build && sam local invoke SpotifyPlayHistoryListener --env-vars env.json --event events/event.json성공 여부를 확인하기 위해 내가 구축 한 레이어를 지정합니다. 작동합니다!

레이어를 다시 빌드하고 내 기능을 수정하지 않으려면 requirements.txt 파일을 사용하고 지정된 레이어를 제거하는 것으로 되돌리고 싶습니다.

문제 재현 단계 :

Build local editable package - pip3 install -e .
Specify in requirements.txt
sam build && sam local invoke SpotifyPlayHistoryListener --env-vars env.json --event events/event.json

관찰 된 결과 :

Building resource 'SpotifyPlayHistoryListener'
Running PythonPipBuilder:ResolveDependencies
Build Failed
Error: PythonPipBuilder:ResolveDependencies - Could not satisfy the requirement: spotify-client

예상 결과:

빌드가 성공하고 함수가 성공적으로 실행됩니다.

추가 환경 세부 정보 :

sam build && sam local invoke SpotifyPlayHistoryListener --env-vars env.json --event events/event.jsonLayer를 사용하여 종속성을 지정할 때 로컬로 함수를 실행할 수 있습니다.

다음 문제 https://github.com/awslabs/aws-lambda-builders/issues/155를 만들었습니다 . 나는 이것이 파이썬과 핍에 대한 나의 이해에 문제가 될 수 있다고 생각하므로 열린 문제는 관련이 없을 수 있습니다.

MikeMelo91

내 종속성이 pypi에 게시되지 않았기 때문에 패키지에 대한 실제 파일 경로를 사용하려면 requirements.txt의 항목을 수정해야했습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관