AWS API Gateway를 설정하는 방법

이 기사 로 묶인 AWS API Gateway 설정 방법의 기록입니다. AWS 계정이 있고 Lambda, CloudWatch를 사용할 수 있다고 가정합니다. 또한 Lambda는 Python으로 구현했습니다.

하고 싶은 일



Dialogflow의 Fulfillment 먼저 API Gateway를 사용하여 Lambda에서 처리하고 적절한 응답을 반환하고 싶습니다.

설정 방법



Lambda 만들기



미리 API 처리에 사용하고 싶은 Lambda 함수를 작성해 둡시다. 여기서는 APITest라는 Lambda 함수를 만들었고 코드는 다음과 같이 간단합니다. 뭔가 오류가 발생하여 잘 모르는 경우는 print 등의 출력이 AWS Cloud Watch에 로그로 기록되므로 그것을 보고 어떻게 든지 합시다.

lambda_function.py
import json

def lambda_handler(event, context):
    print(json.dumps(event))
    return {'speech': 'ちわーっす'}

API 만들기



API Gateway 페이지에서 +APIの作成를 클릭하여 API를 만듭니다. 첫 번째 경우 今すぐ始める를 클릭합니다.


새 API를 선택하고 이해하기 쉬운 API 이름과 설명을 추가합니다. 엔드 포인트 타입은 공식 공지


작업에서 리소스 만들기를 클릭하고,


알기 쉬운 리소스 이름을 지정하고 리소스 만들기를 클릭합니다.


해당 자원을 선택한 상태에서 조치 → 메소드 작성을 누르십시오. 메서드는 Dialogflow이면 POST 요청이므로 POST를 선택하고 확인 버튼을 클릭합니다.


여기서 말하는 「통합」이 무엇을 통합하고 있는지는 모르겠지만, POST 메소드를 던지고 싶은 Lambda 함수를 지정합니다. Lambda 지역은 Lambda의 편집 페이지의 오른쪽 상단에 있는 ARN이라는 코드 안에 작성됩니다. '람다 프록시 통합 사용'에 기본적으로 체크되어 있지는 않지만, 내가 무엇을 생각했는지 여기에 체크를 넣으면 무언가의 권한이 없다고 생각하는 것처럼 움직이지 않고 고전했기 때문에 체크하지 마라. 제발. Lambda 함수가 지정되면 저장 → 확인을 클릭합니다.


해당 POST 메서드의 테스트를 클릭하고 아무 것도 입력하지 않고 테스트 버튼을 클릭합니다.


응답 본문에 방금전의 Lambda 함수의 반환값이 들어 있으면 OK입니다.


액션 → API 배포를 클릭하고 원하는 스테이지 이름으로 배포합니다. 배포란 "사용할 수 있도록 한다"같은 의미입니다.


이제 배포 한 스테이지의 POST 메소드를 클릭하고 URL 호출 : https://~~ URL에 POST 요청을 던지면 Lambda에서 처리하고 반환합니다.


요약



다양한 수수께끼 같은 설정이 많은 API Gateway였습니다. Lambda 함수의 트리거로부터 API Gateway를 설정하면 메소드가 ANY가 되어 두 번 번거롭거나 번거롭기 때문에 API Gateway의 페이지로부터 작성하는 편이 간단하다고 생각합니다. 이 URL을 Dialogflow의 Fulfillment에 사용하여 Google Assistant의 처리로 Lambda를 사용할 준비가 되었습니다.

보충



이번은 주식회사 SmartHacks 에서의 취업형 인턴으로서, 이 기사를 작성했습니다.

좋은 웹페이지 즐겨찾기