강의

멘토링

커뮤니티

Inflearn Community Q&A

sean94kr2663's profile image
sean94kr2663

asked

Learn aws serverless in one day

Create Lambda function + analyze code

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

Resolved

Written on

·

457

·

Edited

2

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

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

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

aws서버리스aws-serverless

Answer 3

0

yangdongjun님의 프로필 이미지
yangdongjun
Instructor

영상 밑에 스크롤을 내리면 있긴한데 아마 안보였을지도요.
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

sean94kr2663님의 프로필 이미지
sean94kr2663
Questioner

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

yangdongjun님의 프로필 이미지
yangdongjun
Instructor

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

yangdongjun님의 프로필 이미지
yangdongjun
Instructor

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

sean94kr2663님의 프로필 이미지
sean94kr2663
Questioner

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

0

yangdongjun님의 프로필 이미지
yangdongjun
Instructor

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

sean94kr2663님의 프로필 이미지
sean94kr2663
Questioner

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

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

yangdongjun님의 프로필 이미지
yangdongjun
Instructor

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

죄송합니다

sean94kr2663님의 프로필 이미지
sean94kr2663
Questioner

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

sean94kr2663님의 프로필 이미지
sean94kr2663
Questioner

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

sean94kr2663님의 프로필 이미지
sean94kr2663
Questioner

얼마나 걸릴까요?

sean94kr2663's profile image
sean94kr2663

asked

Ask a question