2017-01-25 2 views
2

나는 백엔드 서버리스 웹 API를 빌드하는 프로젝트를 진행 중이다. AWS api gateway/lambda 개발자 가이드에서 이러한 문서를 읽은 후에는 필자가 사용할 수있는 여러 가지 방법으로 완전히 혼란 스럽습니다.aws API 게이트웨이를 사용하여 웹 백엔드 api 빌드 람다

난 내가 자습서와 온라인하지만 여전히 혼란 모두 발견 된 일부 솔루션을 시도했습니다

... 요청, 응답, 프록시를 포함한 모든 웹 물건에 아주 새로운 오전. API 게이트웨이 통합 요청에

  1. , 통합 유형에서, 내가 AWS 서비스를 선택하면, 나는 여전히 람다를 선택할 수 있습니다, "람다 기능"과 "AWS 서비스"가 있습니다. 그 차이점은 무엇입니까? 내가 람다를 선택하면 "람다 프록시 통합 사용"을 선택할 수 있습니다. "프록시"를 연구하고 아이디어가 있다고 생각하지만 여전히 혼란 스럽습니다. 내 실험에서는 "event lambda proxy integration"을 선택한 경우에만 "event"객체 내부에서 요청을받을 수 있습니다. 때로는 웹 브라우저가 람다에서 오는 응답을 렌더링 할 수 있으며 때로는 API 게이트웨이 내에 일부 설정이 필요합니다.

  2. 필자의 경우 가장 좋은 해결책은 무엇인가?

답변

3

AWS 서비스는 해당 서비스에 대한 AWS API를 호출입니다 도와주세요. 람다 함수는 람다 함수를 호출하기위한 것입니다. 람다 함수를 호출하고 람다 함수 관리와 관련된 AWS API를 호출하지 않으려면 통합 유형 "람다 함수"를 선택하십시오.

두 번째 질문은 너무 광범위하여 내가 무엇을 묻고 있는지 모릅니다.

+0

@Pano : 단일 람다 함수가 여러 HTTP 메소드 (GET, PUT, DELETE 등) 및 여러 경로에서 요청을 수신하도록하려면 "람다 프록시 통합"옵션이 제공됩니다 '/ {proxy +}'자원 경로 (루트 경로 아래의 경로를 캡처합니다). 이 옵션에서 람다 함수는 모든 HTTP 정보 (메소드, 경로, 헤더 등)를 포함하는 모든 요청에 ​​대해 표준 메시지 형식을 수신합니다. 그런 다음 요청을 처리하는 방법을 결정합니다 (기본적으로 고유 한 라우팅 구현). –

+0

표준 "람다 함수"통합 요청은 다른 람다 함수로 라우팅되는 HTTP 경로와 메서드가있는 HTTP 메서드의 라우터로 API 게이트웨이를 작동 시키려면 더욱 적합합니다. –

+0

그들은 서버리스 API를 구현하는 데 유효한 방법이며 아키텍처 결정은 라우팅, 배포, 람다 함수 (다른 방법에 대해 여러 언어를 사용 하시겠습니까?) 등을 처리하는 방법에 달려 있습니다. –

2

시도해보십시오. Claudia.js 아마도 필요한 유일한 도구 일 것입니다. BST Proxy을 사용해보십시오. 그것은 로컬 디버깅을위한 훌륭한 프록시를 가지고 있습니다.

2

서버리스 키 포인트를 알려드립니다.

  • AWS API 게이트웨이는 프록시로 작동하며 타사 클라이언트에 직접 액세스 할 수 있습니다.

  • AWS 람다 함수는 개인 서브넷의 EC2와 유사합니다.

AWS 람다 타사 클라이언트에서 직접 액세스 할 수 없기 때문에

는 은 그래서 당신은 AWS 람다 함수에 대한 프록시로서 AWS API 게이트웨이가 필요합니다.

관련 문제