나는 백엔드 서버리스 웹 API를 빌드하는 프로젝트를 진행 중이다. AWS api gateway/lambda 개발자 가이드에서 이러한 문서를 읽은 후에는 필자가 사용할 수있는 여러 가지 방법으로 완전히 혼란 스럽습니다.aws API 게이트웨이를 사용하여 웹 백엔드 api 빌드 람다
난 내가 자습서와 온라인하지만 여전히 혼란 모두 발견 된 일부 솔루션을 시도했습니다
... 요청, 응답, 프록시를 포함한 모든 웹 물건에 아주 새로운 오전. API 게이트웨이 통합 요청에
- , 통합 유형에서, 내가 AWS 서비스를 선택하면, 나는 여전히 람다를 선택할 수 있습니다, "람다 기능"과 "AWS 서비스"가 있습니다. 그 차이점은 무엇입니까? 내가 람다를 선택하면 "람다 프록시 통합 사용"을 선택할 수 있습니다. "프록시"를 연구하고 아이디어가 있다고 생각하지만 여전히 혼란 스럽습니다. 내 실험에서는 "event lambda proxy integration"을 선택한 경우에만 "event"객체 내부에서 요청을받을 수 있습니다. 때로는 웹 브라우저가 람다에서 오는 응답을 렌더링 할 수 있으며 때로는 API 게이트웨이 내에 일부 설정이 필요합니다.
필자의 경우 가장 좋은 해결책은 무엇인가?
@Pano : 단일 람다 함수가 여러 HTTP 메소드 (GET, PUT, DELETE 등) 및 여러 경로에서 요청을 수신하도록하려면 "람다 프록시 통합"옵션이 제공됩니다 '/ {proxy +}'자원 경로 (루트 경로 아래의 경로를 캡처합니다). 이 옵션에서 람다 함수는 모든 HTTP 정보 (메소드, 경로, 헤더 등)를 포함하는 모든 요청에 대해 표준 메시지 형식을 수신합니다. 그런 다음 요청을 처리하는 방법을 결정합니다 (기본적으로 고유 한 라우팅 구현). –
표준 "람다 함수"통합 요청은 다른 람다 함수로 라우팅되는 HTTP 경로와 메서드가있는 HTTP 메서드의 라우터로 API 게이트웨이를 작동 시키려면 더욱 적합합니다. –
그들은 서버리스 API를 구현하는 데 유효한 방법이며 아키텍처 결정은 라우팅, 배포, 람다 함수 (다른 방법에 대해 여러 언어를 사용 하시겠습니까?) 등을 처리하는 방법에 달려 있습니다. –