Criação de uma função do AWS Lambda para seu bot - Guia do desenvolvedor

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Criação de uma função do AWS Lambda para seu bot

Para criar uma função do Lambda para seu bot Amazon Lex V2, acesse o AWS Lambda partir do seu AWS Management Console e crie uma nova função. Você pode consultar o guia do desenvolvedor do AWS Lambda para obter mais detalhes sobre o AWS Lambda.

  1. Faça login no AWS Management Console e abra o console do AWS Lambda em https://console.aws.amazon.com/lambda/.

  2. Escolha Funções na barra lateral esquerda.

  3. Selecione Criar função.

  4. Você pode selecionar Criar do zero para começar com o mínimo de código, Usar um esquema para selecionar o código de amostra para casos de uso comuns em uma lista, ou Imagem do contêiner para selecionar um contêiner a ser implantado em sua função. Se você selecionar Criar do zero, continue com as seguintes etapas:

    1. Dê à sua função um Nome de função significativo para descrever o que ela faz.

    2. Escolha um idioma no menu suspenso em Runtime para escrever sua função.

    3. Selecione uma Arquitetura de conjunto de instruções para sua função.

    4. Por padrão, o Lambda cria um perfil com permissões básicas. Para usar um perfil existente ou criar um perfil usando modelos de política da AWS, expanda o menu Alterar perfil de execução padrão e selecione uma opção.

    5. Expanda o menu Configurações avançadas para configurar mais opções.

  5. Selecione Criar função.

A imagem a seguir mostra o que você vê ao criar uma nova função do zero:

Uma nova função do Lambda.

A função do manipulador do Lambda difere dependendo da linguagem que você usa. Ele usa minimamente um objeto JSON do event como argumento. Você pode ver os campos no event que o Amazon Lex V2 fornece em Formato de evento de entrada do AWS Lambda para Lex V2. Modifique a função do manipulador para finalmente retornar um objeto JSON de response que corresponda ao formato descrito em Formato de resposta do AWS Lambda para Lex V2.

  • Depois de terminar de escrever sua função, selecione Implantar para permitir que a função seja usada.

Lembre-se de que você pode associar cada alias de bot a, no máximo, uma função do Lambda. No entanto, você pode definir quantas funções precisar para seu bot no código do Lambda e chamar essas funções na função do manipulador do Lambda. Por exemplo, embora todas as intenções no mesmo alias de bot devam chamar a mesma função do Lambda, você pode criar uma função de roteador que ative uma função separada para cada intenção. Veja a seguir um exemplo de função de roteador que você pode usar ou modificar para sua aplicação:

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

Quando usar funções do AWS Lambda em conversas de bots

Você pode usar as funções do Lambda nos seguintes pontos de uma conversa com um usuário:

  • Na resposta inicial após o reconhecimento da intenção. Por exemplo, depois que o usuário diz que quer pedir uma pizza.

  • Depois de obter um valor de slot do usuário. Por exemplo, depois que o usuário informa ao bot o tamanho da pizza que deseja pedir.

  • Entre cada nova tentativa para obter um slot. Por exemplo, se o cliente não usar um tamanho de pizza reconhecido.

  • Ao confirmar uma intenção. Por exemplo, ao confirmar um pedido de pizza.

  • Para cumprir uma intenção. Por exemplo, para fazer um pedido de pizza.

  • Depois de cumprir a intenção e antes que seu bot encerre a conversa. Por exemplo, para mudar para a intenção de pedir uma bebida.