(AWS) API GateWay + Lambda에서 API를 실행해 보았습니다.

5200 단어 APIGateway람다AWS

Amazon API GateWay를 사용하여 Lambda에서 만든 함수를 실행해 보았습니다.



<대략적인 절차>
- AWS Lambda로 함수 생성
- Amazon API GateWay로 API 생성
- API를 실행하여 응답 획득
LambdaとAPI GateWay作成のリージョンは「東京 (ap-northeast-1)」に設定して進めますので、事前にリージョンをご確認ください。

AWS Lambda에서 설정



그럼 바로 시작합니다.
먼저 Lambda에서 함수를 먼저 준비합니다.

Lambda 콘솔 화면에서 왼쪽 메뉴에서 "関数"→ "関数の作成"버튼을 클릭하십시오.


함수 작성 페이지가 표시되므로 [一から作成]에 체크→関数名 입력→ランタイム 선택→[関数を作成] 버튼을 클릭합니다.
예를 들어, 함수 이름을 "testLambda"로, 런타임은 "Node.js 12.x"를 선택했습니다. (Node.js는 전혀 쓸 수 없기 때문에, 마음대로 템플리에 기대 w)


그러면 아래와 같은 화면이 표시됩니다. (템플리 코드도 있군요!)



이 단계에서 단위 테스트를 해보자. 화면 오른쪽 상단의 "テスト"버튼 클릭 → イベント名 입력 → "作成"버튼 클릭. (파라미터는 설정되어 있지 않으므로 코드는 쓰고 있는 상태로 해도 상관없습니다)



그렇다면 이런 느낌이 듭니다. 「함수를 실행하면 아래의 JSON 코드가 돌아왔다」라는 내용이 쓰여져 있습니다.
이것으로 오케이입니다!


{
  "statusCode": 200,
  "body": "\"Hello from Lambda!\""
}

Amazon API GateWay에서 설정



이제 Amazon API GateWay로 넘어갑니다.
콘솔 화면을 열면 오른쪽의 "APIの作成"버튼 클릭



왼쪽 상단의 HTTP API를 선택합니다.
「HTTP API」는 최근에 할 수 있었던 기능답게, 설정이 간단합니다.
설정이 쉬운 분, 기능의 제한이 있거나 합니다만 이번은 Lambda에 연결되면 충분하기 때문에 HTTP를 이용합니다.

HTTP API의 "構築"버튼 클릭


1단계에서
"統合の追加"에서統合タイプ = "Lambda"統合ターゲット (리전, Lambda 함수 이름) = "ap-northeast-1""testLambda"
로 설정합니다.API名는 자유롭게 입력하십시오. (예에서는 'testAPI'라고 합니다)
입력 후 "Review and Create"→ "作成"순으로 버튼을 클릭 →



이런 화면이 표시되면 API가 작성 성공입니다.

API 킥



URL 호출 항목의 URL/{Lambda関数名}에서 API를 두드려 만든 Lambda 함수를 실행할 수 있습니다.

Status 코드가 200으로 돌아오고 있기 때문에 성공이군요!

Terminal(API 킥 결과)
$ curl https://xxxxxx.execute-api.ap-northeast-1.amazonaws.com/testLambda


StatusCode        : 200
StatusDescription : OK
Content           : "Hello from Lambda!"
RawContent        : HTTP/1.1 200 OK
                    Connection: keep-alive
                    X-Amzn-Requestid: xxxxxxxxx=
                    Content-Length: 20
                    Content-Type: application/json
                    Date: Fri, 31 Jan 2020 07:38:00 GMT

                    "Hello from Lambda!"
Forms             : {}
Headers           : {[Connection, keep-alive], [X-Amzn-Requestid, HJ7l5iHDIAMEAAQ=], [Content-Length, 20], [Content-Typ
                    e, application/json]...}
Images            : {}
InputFields       : {}
Links             : {}
ParsedHtml        : mshtml.HTMLDocumentClass
RawContentLength  : 20

브라우저에서 실행하면 이런 느낌입니다. (브라우저에서는 URL/{Lambda関数名}를 URL로 지정하면 응답이 반환됩니다.


이상입니다!

좋은 웹페이지 즐겨찾기