목표
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
감사합니다.