실습, 테스트시 코드의 username으로 테스트 필요
구성도
키네시스는 람다로 처리해, 다이나모DB나 Elastic Search로 보내는 경우가 많다.
<0> 목적
<1> kinesis stream 생성하기
<2> lambda 생성하기
<3> lambda 테스트하기
<4> dynamodb 테이블 만들기
<5> lambda 생성하기
<6> 참고 AWS kinesis
<0> 목적
실시간으로 데이터를 받아 db에 넣어보자.
DB를 분석해보자
구성 1
kinesis (트리거) - lambda
2
선수 조건
lambda 사용하므로 람다 role 필요
kinesis에서 데이터 받는 권한과 cloudwatch logs에 저장 권한
<1> kinesis stream 생성하기
kinesis > 데이터 스트림 생성 >
seo-kinesis-to-lambda-kinesis
열린 샤드수 : 최소 1, 최대 500
1
> 데이터 스트림 생성
<2> lambda 생성하기
// 람다 정책 -> role 만들기
seo-kinesis-to-lambda-policy
seo-kinesis-to-lambda-role
1
lambda > 함수 생성 > 블루프린트 사용
kinesis-process-record-python
2
함수이름 >
kinesis-to-lambda
기존 역할 사용
seo-kinesis-to-lambda-role 선택
3
Kinesis 트리거 >
seo-kinesis-to-lambda-kinesis
> 트리거 활성화 체크
> 함수 생성
https://docs.aws.amazon.com/ko_kr/kinesis/index.html
<3> lambda 테스트하기
1
lambda > 해당 lambda 클릭 >테스트
stream
> 생성
> 테스트
2
실행 결과 : 성공 (로그 )
> 세부정보 클릭해 확인
3
모니터링 클릭해 확인
구성 2
dynamodb ----- lambda ---- Redshift
<4> dynamodb 테이블 만들기
1
dynamodb
테이블 만들기
> 테이블 이름
seo-score
기본키, 파티션키
seo-id
번호
생성
2
테이블 만들기 >
seo-user
seo-username
문자열
생성
3
seo-score > 개요 > 스트림 관리 > 새이미지 > 활성화
Manager DynamoDB Stream > New image > Enable
<5> lambda 생성하기
사용자 데이터 추가하기
1
lambda > 함수생성 > 새로작성 > 함수이름
seo-score-user
Node.js 12.x
use an existing role
seo-lambda-dynamodb-role
//임시로 dynamodb full 권한 추가
2
create function
// index.js 코드 편집
3
디자이너
+ 트리거 추가
dynamodb
dynamodb table : seo-score 선택
추가
test
event name
score
// 코드
create
test
4
dynamodb 에서 생성해서 잘되는지 확인하기
dynamodb > tables > seo-score > items tab
seo-score
create items
seo-d
5
click > append > string >
seo-username
value
seo
6
click > append > number
field
seo-score
value
11
save
7
확인하기
<6> 참고 AWS kinesis
https://aws.amazon.com/ko/kinesis/
감사합니다.