Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Creando un AWS Lambda función para tu bot
Para crear una función Lambda para su bot de Amazon Lex V2, acceda a AWS Lambda desde su AWS Management Console y crea una nueva función. Puede consultar la AWS Lambda guía para desarrolladores para obtener más información sobre AWS Lambda.
-
Inicia sesión en el AWS Management Console y abre el AWS Lambda consola en https://console.aws.amazon.com/lambda/
. -
Seleccione Funciones en la barra lateral izquierda.
-
Seleccione Crear función.
-
Puede seleccionar Autor desde cero para empezar con un código mínimo, Usar un esquema para seleccionar de una lista código de muestra para casos de uso comunes, o Imagen de contenedor para seleccionar una imagen de contenedor para implementarla en su función. Si selecciona Autor desde cero, continúe con los siguientes pasos:
-
Dele a la función un Nombre de función significativo para describir lo que hace.
-
Seleccione un idioma en el menú desplegable de Tiempo de ejecución para escribir la función.
-
Seleccione una Arquitectura de un conjunto de instrucciones para la función.
-
Por defecto, Lambda crea un rol con permisos básicos. Para usar un rol existente o para crear un rol usando AWS en las plantillas de políticas, amplíe el menú Cambiar el rol de ejecución predeterminado y seleccione una opción.
-
Amplíe el menú de Configuración avanzada para configurar más opciones.
-
-
Seleccione Crear función.
La siguiente imagen muestra lo que se ve al crear una nueva función desde cero:
La función del controlador de Lambda varía según el idioma que utilice. Como mínimo, toma un event
JSON objeto como argumento. Puede ver los campos del event
que Amazon Lex V2 proporciona en AWS Lambda formato de evento de entrada para Lex V2. Modifique la función de controlador para, en última instancia, devolver un response
JSON objeto que coincida con el formato descrito en. AWS Lambda formato de respuesta para Lex V2
-
Cuando termine de escribir la función, seleccione Implementar para permitir que se use la función.
Recuerde que puede asociar cada alias de bot como máximo a una función de Lambda. Sin embargo, puede definir tantas funciones como necesite para su bot en el código Lambda y llamar a estas funciones en la función de controlador de Lambda. Por ejemplo, si bien todas las intenciones del mismo alias de bot deben llamar a la misma función de Lambda, puede crear una función de router que active una función independiente para cada intención. A continuación, se muestra un ejemplo de función de router que puede utilizar o modificar para su aplicación:
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
¿Cuándo se debe usar AWS Lambda funciones en las conversaciones entre bots
Puede utilizar funciones de Lambda en los siguientes momentos de una conversación con un usuario:
-
En la respuesta inicial después de reconocer la intención. Por ejemplo, después de que el usuario diga que quiere pedir una pizza.
-
Después de obtener un valor de slot del usuario. Por ejemplo, después de que el usuario le diga al bot el tamaño de pizza que quiere pedir.
-
Entre cada reintento para obtener un slot. Por ejemplo, si el cliente no usa un tamaño de pizza reconocido.
-
Al confirmar una intención. Por ejemplo, al confirmar un pedido de pizza.
-
Para cumplir una intención. Por ejemplo, para hacer un pedido de pizza.
-
Una vez cumplida la intención y antes de que su bot cierre la conversación. Por ejemplo, para cambiar a una intención de pedir una bebida.