Lambda 함수를 생성하고 봇 별칭에 연결 - Amazon Lex

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Lambda 함수를 생성하고 봇 별칭에 연결

Lambda 함수 생성

Amazon Lex V2 봇에 대한 람다 함수를 생성하려면 AWS Management Console에서 AWS Lambda에 액세스하여 새 함수를 생성하세요. AWS Lambda에 대한 자세한 내용은 AWS Lambda 개발자 안내서를 참조하세요.

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/lambda/에서 AWS Lambda 콘솔을 엽니다.

  2. 왼쪽 사이드바에서 함수를 선택합니다.

  3. 함수 생성을 선택합니다.

  4. 처음부터 작성을 선택하여 최소한의 코드로 시작하거나, 청사진 사용을 선택하여 목록에서 일반적인 사용 사례에 대한 샘플 코드를 선택하거나, 컨테이너 이미지를 선택하여 함수에 배포할 컨테이너 이미지를 선택할 수 있습니다. 처음부터 작성을 선택한 경우 다음 단계를 계속 진행하세요.

    1. 함수에 의미 있는 함수 이름을 지정하여 함수가 수행하는 작업을 설명하십시오.

    2. 런타임 아래의 드롭다운 메뉴에서 함수를 작성할 언어를 선택합니다.

    3. 함수에 맞는 명령어 세트 아키텍처를 선택합니다.

    4. 기본적으로 Lambda는 기본 권한이 있는 역할을 만듭니다. 기존 역할을 사용하거나 AWS 정책 템플릿을 사용하여 역할을 만들려면 기본 실행 역할 변경 메뉴를 확장하고 옵션을 선택합니다.

    5. 고급 설정 메뉴를 확장하여 추가 옵션을 구성합니다.

  5. 함수 생성을 선택합니다.

다음 이미지는 새 함수를 처음부터 생성할 때 표시되는 내용을 보여줍니다.

새 Lambda 함수.

Lambda 핸들러 함수는 사용하는 언어에 따라 다릅니다. 최소한 event JSON 객체를 인수로 사용합니다. 입력 이벤트 형식 해석에서 Amazon Lex V2가 제공하는 event의 필드를 확인할 수 있습니다. 핸들러 함수를 수정하여 최종적으로 응답 형식 준비에서 설명한 형식과 일치하는 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

Lambda 함수 추가 및 호출

Amazon Lex V2 봇에서 Lambda 함수를 호출하려면 먼저 함수를 봇 별칭에 연결한 다음 대화에서 봇이 함수를 호출하는 지점을 설정해야 합니다. 콘솔 또는 API 작업을 사용하여 이 단계를 수행할 수 있습니다.

사용자와의 대화에서 Lambda 함수를 사용할 수 있습니다.

  • 의도가 인식된 후 초기 응답에서. 예를 들어, 사용자가 피자를 주문하고 싶다고 말한 후입니다.

  • 사용자로부터 슬롯 값을 유도한 후. 예를 들어, 사용자가 봇에게 주문하고 싶은 피자의 크기를 알려준 후입니다.

  • 슬롯을 유도 위한 각 재시도 사이. 고객이 인식된 크기의 피자를 사용하지 않는 경우를 예로 들 수 있습니다.

  • 의도를 확인할 때 피자 주문을 확인할 때를 예로 들 수 있습니다.

  • 의도를 이행하기 위해. 피자를 주문하는 경우를 예로 들 수 있습니다.

  • 의도가 충족된 후 및 봇이 대화를 종료하기 전. 음료를 주문하기 위한 의도로 전환하는 경우를 예로 들 수 있습니다.