기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon Lex V2 봇에 대한 Lambda 함수를 생성하려면 AWS Lambda 에서에 액세스 AWS Management Console 하고 새 함수를 생성합니다. 자세한 내용은 AWS Lambda 개발자 안내서를 참조하세요 AWS Lambda.
-
에 로그인 AWS Management Console 하고 https://console.aws.amazon.com/lambda/
AWS Lambda 콘솔을 엽니다. -
왼쪽 사이드바에서 함수를 선택합니다.
-
함수 생성을 선택합니다.
-
처음부터 작성을 선택하여 최소한의 코드로 시작하거나, 청사진 사용을 선택하여 목록에서 일반적인 사용 사례에 대한 샘플 코드를 선택하거나, 컨테이너 이미지를 선택하여 함수에 배포할 컨테이너 이미지를 선택할 수 있습니다. 처음부터 작성을 선택한 경우 다음 단계를 계속 진행하세요.
-
함수에 의미 있는 함수 이름을 지정하여 함수가 수행하는 작업을 설명하세요.
-
런타임 아래의 드롭다운 메뉴에서 함수를 작성할 언어를 선택합니다.
-
함수에 맞는 명령어 세트 아키텍처를 선택합니다.
-
기본적으로 Lambda는 기본 권한이 있는 역할을 만듭니다. 기존 역할을 사용하거나 AWS 정책 템플릿을 사용하여 역할을 생성하려면 기본 실행 역할 변경 메뉴를 확장하고 옵션을 선택합니다.
-
고급 설정 메뉴를 확장하여 추가 옵션을 구성합니다.
-
-
함수 생성을 선택합니다.
다음 이미지는 새 함수를 처음부터 생성할 때 표시되는 내용을 보여줍니다.

Lambda 핸들러 함수는 사용하는 언어에 따라 다릅니다. 최소한 event
JSON 객체를 인수로 사용합니다. AWS Lambda Lex V2의 입력 이벤트 형식에서 Amazon Lex V2가 제공하는 event
의 필드를 확인할 수 있습니다. 핸들러 함수를 수정하여 최종적으로 AWS Lambda Lex V2의 응답 형식에서 설명한 형식과 일치하는 response
JSON 객체를 반환하도록 합니다.
-
함수 작성이 끝나면 배포를 선택하여 함수를 사용할 수 있게 합니다.
각 봇 별칭을 최대 하나의 Lambda 함수와 연결할 수 있다는 점을 기억하세요. 하지만 Lambda 코드 내에서 봇에 필요한 만큼 함수를 정의하고 Lambda 핸들러 함수에서 이러한 함수를 호출할 수 있습니다. 예를 들어 동일한 봇 별칭의 모든 의도가 동일한 Lambda 함수를 호출해야 하지만 각 의도에 대해 별도의 함수를 활성화하는 라우터 함수를 생성할 수 있습니다. 다음은 애플리케이션에 사용하거나 수정할 수 있는 샘플 라우터 함수입니다.
import os
import json
import boto3
# reuse client connection as global
client = boto3.client('lambda')
def router(event):
intent_name = event['sessionState']['intent']['name']
fn_name = os.environ.get(intent_name)
print(f"Intent: {intent_name} -> Lambda: {fn_name}")
if (fn_name):
# invoke lambda and return result
invoke_response = client.invoke(FunctionName=fn_name, Payload = json.dumps(event))
print(invoke_response)
payload = json.load(invoke_response['Payload'])
return payload
raise Exception('No environment variable for intent: ' + intent_name)
def lambda_handler(event, context):
print(event)
response = router(event)
return response
봇 대화에서 AWS Lambda 함수를 사용해야 하는 경우
사용자와의 대화에서 Lambda 함수를 사용할 수 있습니다.
-
의도가 인식된 후 초기 응답에서. 예를 들어, 사용자가 피자를 주문하고 싶다고 말한 후입니다.
-
사용자로부터 슬롯 값을 유도한 후. 예를 들어, 사용자가 봇에게 주문하고 싶은 피자의 크기를 알려준 후입니다.
-
슬롯을 유도 위한 각 재시도 사이. 고객이 인식된 크기의 피자를 사용하지 않는 경우를 예로 들 수 있습니다.
-
의도를 확인할 때 피자 주문을 확인할 때를 예로 들 수 있습니다.
-
의도를 이행하기 위해. 피자를 주문하는 경우를 예로 들 수 있습니다.
-
의도가 충족된 후 및 봇이 대화를 종료하기 전. 음료를 주문하기 위한 의도로 전환하는 경우를 예로 들 수 있습니다.