Creazione e associazione di una funzione Lambda a un alias bot - Amazon Lex

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione e associazione di una funzione Lambda a un alias bot

Creazione della funzione Lambda

Per creare una funzione Lambda per il tuo bot Amazon Lex V2, accedi AWS Lambda dal tuo AWS Management Console e crea una nuova funzione. Puoi fare riferimento alla guida per AWS Lambda sviluppatori per maggiori dettagli in merito. AWS Lambda

  1. Accedi a AWS Management Console e apri la console AWS Lambda all'indirizzo https://console.aws.amazon.com/lambda/.

  2. Scegli Funzioni nella barra laterale sinistra.

  3. Seleziona Crea funzione.

  4. Puoi selezionare Author partendo da zero per iniziare con un codice minimo, Usa un blueprint per selezionare da un elenco il codice di esempio per i casi d'uso più comuni o Container image per selezionare un'immagine del contenitore da distribuire per la tua funzione. Se selezioni Author da zero, continua con i seguenti passaggi:

    1. Assegna alla funzione un nome di funzione significativo per descrivere cosa fa.

    2. Scegli una lingua dal menu a discesa sotto Runtime in cui scrivere la tua funzione.

    3. Seleziona un set di istruzioni Architecture per la tua funzione.

    4. Per impostazione predefinita, Lambda crea un ruolo con autorizzazioni di base. Per utilizzare un ruolo esistente o creare un ruolo utilizzando modelli di AWS policy, espandi il menu Cambia il ruolo di esecuzione predefinito e seleziona un'opzione.

    5. Espandi il menu Impostazioni avanzate per configurare altre opzioni.

  5. Seleziona Crea funzione.

L'immagine seguente mostra ciò che vedi quando crei una nuova funzione da zero:

Una nuova funzione Lambda.

La funzione di gestione Lambda varia a seconda della lingua utilizzata. Accetta almeno un oggetto event JSON come argomento. Puoi visualizzare i campi forniti da Amazon Lex V2 all'indirizzoInterpretazione del formato dell'evento di input. event Modifica la funzione di gestione per restituire infine un oggetto response JSON che corrisponda al formato descritto in. Preparazione del formato di risposta

Una volta terminata la scrittura della funzione, selezionate Deploy per consentire l'utilizzo della funzione.

Ricorda che puoi associare ogni alias del bot al massimo a una funzione Lambda. Tuttavia, puoi definire tutte le funzioni necessarie per il tuo bot all'interno del codice Lambda e richiamare queste funzioni nella funzione di gestione Lambda. Ad esempio, mentre tutti gli intenti nello stesso alias bot devono chiamare la stessa funzione Lambda, puoi creare una funzione router che attivi una funzione separata per ogni intento. Di seguito è riportato un esempio di funzione router che potete utilizzare o modificare per la vostra applicazione:

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

Aggiungere e richiamare una funzione Lambda

Per chiamare la funzione Lambda nel tuo bot Amazon Lex V2, devi prima collegare la funzione a un alias bot e quindi impostare i punti della conversazione in cui il bot richiama la funzione. Puoi eseguire questi passaggi con le operazioni della console o dell'API.

È possibile utilizzare le funzioni Lambda nei seguenti punti di una conversazione con un utente:

  • Nella risposta iniziale dopo il riconoscimento dell'intento. Ad esempio, dopo che l'utente ha dichiarato di voler ordinare una pizza.

  • Dopo aver ottenuto il valore di uno slot dall'utente. Ad esempio, dopo che l'utente ha detto al bot la dimensione della pizza che desidera ordinare.

  • Tra un tentativo e l'altro per ottenere uno slot. Ad esempio, se il cliente non utilizza una dimensione di pizza riconosciuta.

  • Quando si conferma un intento. Ad esempio, quando si conferma un ordine di pizza.

  • Per soddisfare un intento. Ad esempio, per ordinare una pizza.

  • Dopo il raggiungimento dell'intento e prima che il bot chiuda la conversazione. Ad esempio, per passare all'intenzione di ordinare un drink.