인프런 커뮤니티 질문&답변

이희서님의 프로필 이미지

작성한 질문수

하루만에 배우는 aws 서버리스

Lambda 함수 생성 + code 분석

Rest API Lambda 함수 생성 + code 분석 코드 어디있나요?

해결된 질문

23.10.25 10:09 작성

·

333

·

수정됨

2

다음과 같은 양식으로 남겨주세요.

질문을 한 배경 :코드 보고 싶습니다

질문내용 :Lambda 함수 생성 + code 분석" 파트를 듣고 있는데요, index.mjs 코드를 올려주신다고 했는데, 어디서 볼 수 있을지 궁금합니다 선생님

답변 3

0

양동준님의 프로필 이미지
양동준
지식공유자

2023. 10. 25. 14:04

영상 밑에 스크롤을 내리면 있긴한데 아마 안보였을지도요.
import { DynamoDBClient } from "@aws-sdk/client-dynamodb";

import {

  DynamoDBDocumentClient,

  ScanCommand,

  PutCommand,

  GetCommand,

  DeleteCommand,

}

from "@aws-sdk/lib-dynamodb";

 

const client = new DynamoDBClient({});

 

const dynamo = DynamoDBDocumentClient.from(client);

 

const tableName = "http-crud-tutorial-items";

 

export const handler = async (event, context) => {

  let body;

  let statusCode = 200;

  const headers = {

    "Content-Type": "application/json",

  };

 

  try {

    switch (`${event.httpMethod} ${event.resource}`) {

      case "DELETE /items/{id}":

        await dynamo.send(

          new DeleteCommand({

            TableName: tableName,

            Key: {

              id: event.pathParameters.id,

            },

          })

        );

        body = Deleted item ${event.pathParameters.id};

        break;

      case "GET /items/{id}":

        body = await dynamo.send(

          new GetCommand({

            TableName: tableName,

            Key: {

              id: event.pathParameters.id,

            },

          })

        );

        body = body.Item;

        break;

      case "GET /items":

        body = await dynamo.send(

          new ScanCommand({ TableName: tableName })

        );

        body = body.Items;

        break;

      case "PUT /items":

        let requestJSON = JSON.parse(event.body);

        await dynamo.send(

          new PutCommand({

            TableName: tableName,

            Item: {

              id: requestJSON.id,

              price: requestJSON.price,

              name: requestJSON.name,

            },

          })

        );

        body = Put item ${requestJSON.id};

        break;

      default:

        throw new Error(`Unsupported route: "${event.routeKey}"`);

    }

  }

  catch (err) {

    statusCode = 400;

    body = err.message;

  }

  finally {

    body = JSON.stringify(body);

  }

 

  return {

    "statusCode": statusCode,

    "headers": headers,

    "isBase64Encoded": false,

    "body": body

  };

};

 

image영상 밑에 스크롤을 내리면 있긴한데

0

이희서님의 프로필 이미지
이희서
질문자

2023. 10. 25. 13:20

혹시 잊어버리셨을까 리마인드 드립니다.

양동준님의 프로필 이미지
양동준
지식공유자

2023. 10. 25. 13:45

선생님 오늘 바로는 힘들것 같긴한데요

양동준님의 프로필 이미지
양동준
지식공유자

2023. 10. 25. 13:46

아 근데 선생님 강의 밑에 코드가 있긴하던데 이거말고 다른거 말하시는 건가요?

이희서님의 프로필 이미지
이희서
질문자

2023. 10. 25. 13:56

코드요? 링크 부탁드립니다

0

양동준님의 프로필 이미지
양동준
지식공유자

2023. 10. 25. 10:19

선생님 양식을 지켜주시면 감사합니다
질문이 뭘 물어보는지 모르겠습니다

이희서님의 프로필 이미지
이희서
질문자

2023. 10. 25. 10:29

네, "Lambda 함수 생성 + code 분석" 파트를 듣고 있는데요, index.mjs 코드를 올려주신다고 했는데, 어디서 볼 수 있을지 궁금합니다 선생님

수업 정말 감명깊게 듣고 있습니다

양동준님의 프로필 이미지
양동준
지식공유자

2023. 10. 25. 10:56

선생님 제가 아마 추가한다고 햇는데 누락된것 같습니다.
최대한 작업해서 빠르게 올리겠습니다

죄송합니다

이희서님의 프로필 이미지
이희서
질문자

2023. 10. 25. 11:02

선생님, 추가 하시면 링크 부탁 드립니다

이희서님의 프로필 이미지
이희서
질문자

2023. 10. 25. 11:36

완료 되시면 어디서 볼 수 있는지 알려주세요~

이희서님의 프로필 이미지
이희서
질문자

2023. 10. 25. 12:59

얼마나 걸릴까요?