[AWS] API Gateway와 Lambda 함수 연결

sunnyjjang·2024년 10월 12일

AWS

목록 보기
19/21
post-thumbnail

LAB. AWS API Gateway와 Lambda 함수 연동

워크플로우
1. Lambda 함수 생성
2. API Gateway 구성
3. Postman 설치 후 API TEST

1. Lambda 함수 생성

  • 사용자를 조회하는 함수
    • name : GetUsersFunction
    • run-time : Python3.12
    • 코드 변경
      import json
      
      def lambda_handler(event, context):
          users = [
              {"id": 1, "name": "John"},
              {"id": 2, "name": "seongmi"}
          ]
          return {
              'statusCode': 200,
              'body': json.dumps(users)
          }
  • 사용자를 생성하는 함수
    • name : PostUserFunction
    • run-time : Python3.12
    • 코드 변경
      import json
      
      def lambda_handler(event, context):
          # event['body']가 이미 파싱된 딕셔너리라면 json.loads()를 제거
          body = event['body'] if isinstance(event['body'], dict) else json.loads(event['body'])
          
          new_user = {
              "id": 3,
              "name": body.get("name")
          }
          
          return {
              'statusCode': 201,
              'body': json.dumps({"message": "User created", "user": new_user})
          }

2. API Gateway 구성

  • API 생성
    • API 유형 : REST API
    • name : apigateway2lambda
  • 리소스 생성
    • 리소스 경로 : /
    • 리소스 이름 : users
  • 메서드 생성
    • GET 메서드 생성
      • 매서드 유형 : GET
      • 통합 유형 : Lambda 함수
      • Lambda 함수 : 리전 - GetUserFunction
    • POST 메서드 생성
      • 매서드 유형 : POST
      • 통합 유형 : Lambda 함수
      • Lambda 프록시 통합 : 활성화
      • Lambda 함수 : 리전 - PostUserFunction
  • API 배포 - 기본 URL 설정
    • 스테이지 - 새 스테이지
    • 스테이지 이름 : prod
  • URL 확인

3. Postman 설치 후 API TEST

profile
지금 이 순간이 다시 넘겨볼 수 있는 한 페이지가 될 수 있게

0개의 댓글