AWS Lambda + API Gateway 사용법 [초보자]
7693 단어 5람다APIGatewayAWS
프로그램 언어는 자유롭게 선택할 수 있으므로 Go를 선택.
Lambda에 대한 함수 만들기
다음과 같은 함수를 작성.
json에서 값을 2개 받으면 추가하고 반환하는 함수.
sampelAdd.gopackage main
import (
"fmt"
"github.com/aws/aws-lambda-go/lambda"
)
type GetData struct {
Value1 int `json:"Value1"`
Value2 int `json:"Value2"`
}
type ReturnData struct {
Answer string `json:"Answer"`
}
func HandleLambdaEvent(event GetData) (ReturnData, error) {
return ReturnData{Answer: fmt.Sprintf("%d + %d = %d", event.Value1, event.Value2, event.Value1+event.Value2)}, nil
}
func main() {
lambda.Start(HandleLambdaEvent)
}
AWS에서 실행하기 위해 리눅스용으로 컴파일한다.
GOOS=linux GOARCH=amd64 go build -o sampleAdd sampleAdd.go
AWS에 업로드할 때 zip으로 설정해야 하므로 zip으로 설정
zip sampleAdd.zip ./sampleAdd
Lambda 만들기
처음부터 만들기를 선택합니다.
원하는 함수 이름을 입력하고 런타임에 Go 1.x를 선택합니다.
액세스 권한은 기본 상태로 유지됩니다. (권한에 대해 나중에 배울 예정)
이 상태에서 함수 만들기 버튼을 클릭합니다.
「핸들러」의 명칭을, 컴파일로 지정한 명칭으로 합니다.
함수 패키지에 위에서 만든 zip 파일을 지정하고 화면 오른쪽 상단의 버튼을 클릭합니다.
아래와 같이 「인라인 코드 편집할 수 없다」라고 나옵니다만 문제 없습니다.
Go 이외라면 인라인으로 코드를 편집할 수 있는 것 같습니다.
테스트 이벤트 설정
테스트 이벤트 설정을 선택합니다.
다음과 같이 테스트 내용을 작성하고 [만들기] 버튼을 클릭합니다.
테스트를 실행하면 예상대로 출력을 확인할 수 있습니다.
API Gateway 만들기
다음 상태에서 API 만들기 버튼을 클릭합니다.
메서드 만들기를 클릭합니다.
Get(쿼리 문자열) 만들기
GET을 선택합니다.
Lambda 함수에 sampleAdd를 지정합니다.
메소드 요청 편집
메소드 요청을 선택합니다.
요청 유효성 검사를 쿼리 문자열 매개 변수 및 헤더 유효성 검사로 변경합니다.
URL 쿼리 문자열 매개변수에 Value1, Value2를 추가합니다.
통합 요청 편집
통합 요청을 선택합니다.
매핑 템플릿에서 템플릿이 정의되지 않은 경우(권장)를 선택하고,
application/json을 추가합니다.
"Lambdaで受け取る値": "$input.params('URLパラメータ')"
에서 값을 얻을 수 있습니다.
추가 내용은 다음 내용입니다.
{
"Value1": $input.params('Value1'),
"Value2": $input.params('Value2')
}
다음과 같은 화면 상태로 저장합니다.
API Gateway 테스트
테스트를 클릭합니다.
쿼리 문자열을 작성하고 테스트 버튼을 클릭합니다.
예상대로 "응답 본문"이 반환됩니다.
배포
API 배포를 선택합니다.
원하는 스테이지 이름을 입력하고 배포 버튼을 클릭합니다.
URL이 지정되므로 URL 매개 변수를 추가하고 실행합니다.
예상되는 값이 표시됩니다.
Reference
이 문제에 관하여(AWS Lambda + API Gateway 사용법 [초보자]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/koshi_an/items/fd1b97b35e52bab5f7e9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
package main
import (
"fmt"
"github.com/aws/aws-lambda-go/lambda"
)
type GetData struct {
Value1 int `json:"Value1"`
Value2 int `json:"Value2"`
}
type ReturnData struct {
Answer string `json:"Answer"`
}
func HandleLambdaEvent(event GetData) (ReturnData, error) {
return ReturnData{Answer: fmt.Sprintf("%d + %d = %d", event.Value1, event.Value2, event.Value1+event.Value2)}, nil
}
func main() {
lambda.Start(HandleLambdaEvent)
}
GOOS=linux GOARCH=amd64 go build -o sampleAdd sampleAdd.go
zip sampleAdd.zip ./sampleAdd
처음부터 만들기를 선택합니다.
원하는 함수 이름을 입력하고 런타임에 Go 1.x를 선택합니다.
액세스 권한은 기본 상태로 유지됩니다. (권한에 대해 나중에 배울 예정)
이 상태에서 함수 만들기 버튼을 클릭합니다.
「핸들러」의 명칭을, 컴파일로 지정한 명칭으로 합니다.
함수 패키지에 위에서 만든 zip 파일을 지정하고 화면 오른쪽 상단의 버튼을 클릭합니다.
아래와 같이 「인라인 코드 편집할 수 없다」라고 나옵니다만 문제 없습니다.
Go 이외라면 인라인으로 코드를 편집할 수 있는 것 같습니다.
테스트 이벤트 설정
테스트 이벤트 설정을 선택합니다.
다음과 같이 테스트 내용을 작성하고 [만들기] 버튼을 클릭합니다.
테스트를 실행하면 예상대로 출력을 확인할 수 있습니다.
API Gateway 만들기
다음 상태에서 API 만들기 버튼을 클릭합니다.
메서드 만들기를 클릭합니다.
Get(쿼리 문자열) 만들기
GET을 선택합니다.
Lambda 함수에 sampleAdd를 지정합니다.
메소드 요청 편집
메소드 요청을 선택합니다.
요청 유효성 검사를 쿼리 문자열 매개 변수 및 헤더 유효성 검사로 변경합니다.
URL 쿼리 문자열 매개변수에 Value1, Value2를 추가합니다.
통합 요청 편집
통합 요청을 선택합니다.
매핑 템플릿에서 템플릿이 정의되지 않은 경우(권장)를 선택하고,
application/json을 추가합니다.
"Lambdaで受け取る値": "$input.params('URLパラメータ')"
에서 값을 얻을 수 있습니다.
추가 내용은 다음 내용입니다.
{
"Value1": $input.params('Value1'),
"Value2": $input.params('Value2')
}
다음과 같은 화면 상태로 저장합니다.
API Gateway 테스트
테스트를 클릭합니다.
쿼리 문자열을 작성하고 테스트 버튼을 클릭합니다.
예상대로 "응답 본문"이 반환됩니다.
배포
API 배포를 선택합니다.
원하는 스테이지 이름을 입력하고 배포 버튼을 클릭합니다.
URL이 지정되므로 URL 매개 변수를 추가하고 실행합니다.
예상되는 값이 표시됩니다.
Reference
이 문제에 관하여(AWS Lambda + API Gateway 사용법 [초보자]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/koshi_an/items/fd1b97b35e52bab5f7e9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
다음 상태에서 API 만들기 버튼을 클릭합니다.
메서드 만들기를 클릭합니다.
Get(쿼리 문자열) 만들기
GET을 선택합니다.
Lambda 함수에 sampleAdd를 지정합니다.
메소드 요청 편집
메소드 요청을 선택합니다.
요청 유효성 검사를 쿼리 문자열 매개 변수 및 헤더 유효성 검사로 변경합니다.
URL 쿼리 문자열 매개변수에 Value1, Value2를 추가합니다.
통합 요청 편집
통합 요청을 선택합니다.
매핑 템플릿에서 템플릿이 정의되지 않은 경우(권장)를 선택하고,
application/json을 추가합니다.
"Lambdaで受け取る値": "$input.params('URLパラメータ')"
에서 값을 얻을 수 있습니다.추가 내용은 다음 내용입니다.
{
"Value1": $input.params('Value1'),
"Value2": $input.params('Value2')
}
다음과 같은 화면 상태로 저장합니다.
API Gateway 테스트
테스트를 클릭합니다.
쿼리 문자열을 작성하고 테스트 버튼을 클릭합니다.
예상대로 "응답 본문"이 반환됩니다.
배포
API 배포를 선택합니다.
원하는 스테이지 이름을 입력하고 배포 버튼을 클릭합니다.
URL이 지정되므로 URL 매개 변수를 추가하고 실행합니다.
예상되는 값이 표시됩니다.
Reference
이 문제에 관하여(AWS Lambda + API Gateway 사용법 [초보자]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/koshi_an/items/fd1b97b35e52bab5f7e9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)