서버리스 환경을 구현하는 데 사용됨

코드 실행기 정도로 보면 되겠다. → S3같은 버킷에 있는 코드를 실행하는 것

Interpreting the input event format - Amazon Lex

일단 이 글을 통해 람다의 어터런스 처리에 대해 공부한다. 그 외 필요한 지식들도 이 페이지에서 검색하면 된다.

이 페이지에는 js방식의 응답 방식이 있고 사용해볼건 py방식임


Lambda와 lex의 통신 :

  1. Fulfillment Code Hook 방식: 이 방식은 Lex 챗봇이 유저의 인텐트를 파악하고 슬롯 정보를 추출한 뒤 Lambda 함수를 호출하여 주문 검증, 응답 생성 등의 작업을 수행합니다. 이때, Lambda 함수의 event 파라미터에 Lex에서 전달한 이벤트 데이터가 들어가게 됩니다.

    이 방식을 사용하려면 Lex 챗봇 설정에서 "Fulfillment" 부분을 "AWS Lambda Function"으로 설정해야 합니다. 그리고 해당 Lambda 함수의 ARN(Amazon Resource Name)을 지정하여 Lex와 연결합니다.

  2. Initialization and Validation Code Hook 방식: 이 방식은 Lex 챗봇이 유저의 입력을 받아들이기 전에 Lambda 함수를 호출하여 초기화 또는 검증 작업을 수행합니다. 유저의 입력에 따라 필요한 슬롯 정보를 설정하거나 유효성을 검사하는 용도로 사용됩니다.

    Initialization and Validation Code Hook은 Lex 챗봇 설정에서 "Initialization and validation code hook" 옵션으로 설정할 수 있으며, 해당 Lambda 함수의 ARN을 지정하여 연결합니다.

두 가지 방식 중 어떤 방식을 사용할지는 Lex 챗봇의 목적과 동작에 따라 결정됩니다. 일반적으로는 "Fulfillment Code Hook" 방식을 사용하여 유저의 주문을 검증하고 응답을 생성하는 역할을 Lambda 함수에 맡기는 것이 일반적입니다.

파이썬 파일 이름이 'lambda_function.py'인 경우 Lambda 함수의 핸들러 이름은 'lambda_handler' 함수로 지정되어야 합니다. 이 이름은 Lambda 함수 설정에서 정의되며, Lex 챗봇에서 이 함수를 호출하게 됩니다.