brunch

You can make anything
by writing

- C.S.Lewis -

by Master Seo May 31. 2020

377. Kinesis,Lambda,DynamoDB

목적

실시간으로 데이터를 받아 db에 넣어보자.

DB를 분석해보자


구성 

kinesis   - lambda - dynamodb  -----  (이벤트) ---- 람다 ----- redshift




선수 조건

kinesis role 권한 필요

dynamodb role 권한 필요





첫번째 구성

 kinesis   - lambda - dynamodb 


<1> kinesis stream 생성하기

<2> lambda 생성하기

<3>  lambda 테스트하기

<4> dynamodb 테이블 만들기

<5> lambda 생성하기




<1> kinesis stream 생성하기

kinesis > Create data Stream > 

seo-st

1



<2> lambda 생성하기

1

lambda   > Create function 

샘플 코드인  blue print 사용한다.

use a blueprint

kinesis-process-record-python


2

function name : 

kinesis-lambda

use an existing role

seo- lambda-kinesis-role

// role 확인

우선 임시로  kinesis full은 주면  처리된다.


kinesis trigger 사용한다.

seo-st 선택

enable trigger 체크후 


create



<3>  lambda 테스트하기

lambda > 해당 lambda 클릭 > test

stream 

create

test


Execution result: succeeded(logs)

details 클릭해 확인


monitoring 클릭해 확인





두번쨰  구성


dynamodb -  (이벤트) ---- 람다 ----- redshift




<4> dynamodb 테이블 만들기

1

dynamodb


create table

table name

seo-score

seo-id

primary key type : number

create


2

create table

seo-user

seo-username

primary key type : string

create


3

seo-score  > Overview > Manage Stream >  New image xxxxxx >  enable



<5> lambda 생성하기

사용자 데이터 추가

1

lambda  > create function  >  function name :

seo-score-user

node.js 12.x

use an existing role

seo-lambda-dynamodb-role

//임시로  dynamodb full 권한 추가


create function

// index.js 코드  편집



2

design

+add trigger

dynamodb

dynamodb table : seo-score  선택

add


test

event name

score

// 코드

create

test


3

dynamodb 확인

dynamodb  >  tables >  seo-score  >  items tab  


seo-score

create items 

seo-d


4

click > append > string >

seo-username   

value

seo


5

click > append > number


field 


seo-score


value

11

save



AWS kinesis

https://aws.amazon.com/ko/kinesis/

감사합니다.

매거진의 이전글 376.(추천) 클라우드 기본이라도 알고 싶습니다.

매거진 선택

키워드 선택 0 / 3 0
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari