brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jun 07. 2020

399. Bot을 이용한 동적 대화 2

목표

bot과 람다, 다이나모 DB간 연동을 해보자.



<0> 구성


사용자 ---------- 봇 -------람다 ------ 다이나모 DB , SNS 등



순서

<1>  다이나모 DB 테이블 생성

<2>  람다 만들기

<3>  bot과 람다 연동

<4>  테스트하기 



<1>  다이나모 DB 테이블 생성


1  bot-table 만들기

DynamoDB > 테이블 만들기  > 테이블 이름

myProducts

productId

number

생성



2 .  2차 인덱스  만들기 

myproducts  >  인덱스 텝 >  인덱스 만들기   > pirmary key

productType

add sort key 체크

key only

// 생성하는데 10분 걸림



3. 주문 추적하는 테이블 만들기

myOrders

orderId

string



4. 주문 추적을 위한 인덱스 생성

myorders  테이블 > 인덱스 > 인덱스 생성 

파티션 키

userId



5. 람다

테스트 >   생성



6.   다이나모 테이블 생성 확인

services > dynamodb    >  tables   > myproducts table >  items tab




<2>  람다 만들기


1

람다 > 람다 생성 > 

lex-backend

기존 역할 사용

/./ 기존역할은 새로은 role

함수 생성

 

2

함수 코드 업로드


3.

기본 설정

파이선 2.7

핸들러

lambda_function.lambda_handler






<3>  bot과 람다 연동


1

서비스 > Lex  > mybot  > GetProductFlavor    확인



2

인텐트 이름 Help 선택 >   Fulfiilment  >  AWS lambda function  으로 변경  > lex-backend   선택  

>  인텐트 저장 





3

왼쪽  OrderProduct  > 

Lambda initialization  체크    > 

Lamabda function : lex-backend  > 

인텐트 저장 



4

왼쪽 주문 프로덕트 인텐트

Initialization and validation code hook  선택

lex-backed

인텐트 저장 





<4>  테스트하기 


1

빌드  > 성공  

오른쪽에  테스트 봇이 보인다.

help



참고

선행 https://brunch.co.kr/@topasvga/1187



감사합니다.





브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari