Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Optimice el desarrollo y la implementación de los bots de Amazon Lex mediante un flujo de trabajo automatizado - Recomendaciones de AWS

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.

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.

Optimice el desarrollo y la implementación de los bots de Amazon Lex mediante un flujo de trabajo automatizado

Creado por Balaji Panneerselvam (AWS), Anand Junnani (AWS), Attila Dancso (AWS), James O'Hara (AWS) y Pavan Dusanapudi (AWS)

Resumen

Desarrollar e implementar los bots conversacionales de Amazon Lex puede ser un desafío cuando se trata de administrar múltiples funciones, desarrolladores y entornos. Un flujo de trabajo automatizado que utilice los principios de la infraestructura como código (IaC) puede ayudar a agilizar el proceso. Este patrón puede ayudar a mejorar la productividad de los desarrolladores de Amazon Lex y permitir una gestión eficiente del ciclo de vida de los bots de las siguientes maneras:

  • Permita el desarrollo simultáneo de múltiples funciones: con un flujo de trabajo automatizado, los desarrolladores pueden trabajar en diferentes funciones en paralelo en ramas separadas. Luego, los cambios se pueden combinar e implementar sin bloquear otros trabajos.

  • Utilice la interfaz de usuario de la consola Amazon Lex: los desarrolladores pueden utilizar la sencilla consola Amazon Lex para crear y probar bots. A continuación, se describen los bots en el código de infraestructura para su implementación.

  • Promocione los bots en todos los entornos: el flujo de trabajo automatiza la promoción de las versiones de los bots desde entornos más bajos, como el de desarrollo y las pruebas, hasta la producción. Este enfoque reduce el riesgo y los gastos generales de las promociones manuales.

  • Mantenga el control de versiones: la administración de las definiciones de bots en Git, en lugar de hacerlo únicamente a través del servicio Amazon Lex, le proporciona un control de versiones y un registro de auditoría. Los desarrolladores individuales rastrean los cambios, a diferencia de lo que ocurre cuando solo se utilizan AWS Management Console o APIs se modifican los bots almacenados en él AWS.

Al automatizar el proceso de lanzamiento de los bots de Amazon Lex, los equipos pueden ofrecer funciones más rápido con menos riesgos y esfuerzos. Los bots permanecen bajo el control de versiones en lugar de estar aislados en la consola Amazon Lex.

Requisitos previos y limitaciones

Requisitos previos

  • El flujo de trabajo incluye varios entornos Cuentas de AWS para diferentes entornos (desarrollo, producción y DevOps), lo que requiere configuraciones de administración de cuentas y acceso entre cuentas.

  • Python 3.9 está disponible en su entorno de implementación o canalización.

  • Git se instaló y configuró en una estación de trabajo local para el control de código fuente.

  • AWS Command Line Interface (AWS CLI) instalado y configurado para autenticarse mediante la línea de comandos o Python.

Limitaciones

  • Acceso al repositorio: el flujo de trabajo supone que la canalización de integración y entrega continuas (CI/CD) cuenta con los permisos necesarios para registrar los cambios en el repositorio de código fuente.

  • Versión inicial del bot: las herramientas requieren que se implemente una versión inicial del bot mediante plantillas. AWS CloudFormation Debes crear la primera iteración del bot y depositarla en el repositorio antes de que el flujo de trabajo automatizado pueda hacerse cargo.

  • Conflictos de fusión: aunque el flujo de trabajo tiene como objetivo permitir el desarrollo simultáneo, aún existe la posibilidad de que se produzcan conflictos de fusión al integrar cambios de diferentes ramas. La resolución de conflictos en las configuraciones de los bots puede requerir una intervención manual.

Versiones de producto

Arquitectura

El siguiente diagrama muestra la arquitectura de alto nivel y los componentes clave de la solución.

Flujo de trabajo para automatizar el desarrollo y la implementación de los bots de Amazon Lex.

Los componentes clave incluyen los siguientes:

  • Repositorio de bots de Lex: un repositorio de Git que almacena las definiciones de IaC para los bots de Amazon Lex.

  • DevOps— Uno Cuenta de AWS dedicado a alojar las canalizaciones de CI/CD y los recursos relacionados para el proceso de desarrollo e implementación.

  • Canalizaciones: AWS CodePipeline instancias que automatizan varias etapas del ciclo de vida de desarrollo e implementación de los bots, como la creación de un nuevo bot, la exportación de la definición de un bot, la importación de una definición de bot y la eliminación de un bot.

  • Bots de tickets y bot principal: los recursos de bots de Amazon Lex, donde los bots de tickets son bots de funciones específicas desarrollados por equipos o desarrolladores individuales y el bot principal es el bot básico que integra todas las funciones.

El diagrama de arquitectura ilustra el siguiente flujo de trabajo:

  1. Bot principal de referencia: el punto de partida del flujo de trabajo es basar el bot principal en el entorno de desarrollo (desarrollo). El bot principal sirve de base para futuros desarrollos y adiciones de funciones.

  2. Crear un bot de tickets: cuando se requiere una nueva función o un cambio, se crea un bot de tickets. El bot de tickets es básicamente una copia o una rama del bot principal en la que los desarrolladores pueden trabajar sin que ello afecte a la versión principal.

  3. Exportar bot de tickets: una vez finalizado el trabajo en el bot de tickets, se exporta desde el servicio Amazon Lex. A continuación, la sucursal que contiene el bot de tickets pasa de estar a la sucursal principal. Este paso garantiza que se incorporen todos los cambios realizados en el bot principal mientras el bot de venta de entradas estaba en desarrollo, lo que reduce los posibles conflictos.

  4. Importar el bot de tickets rebasado y validar: el bot de tickets rebasado se importa de nuevo al entorno de desarrollo y se valida para garantizar que funciona correctamente con los cambios más recientes de la rama principal. Si la validación se realiza correctamente, se crea una solicitud de extracción (PR) para fusionar los cambios del bot de tickets con la sucursal principal.

  5. Eliminar el bot de tickets: una vez que los cambios se hayan fusionado correctamente en la sucursal principal, el bot de tickets ya no será necesario. El bot de tickets se puede eliminar para mantener el entorno limpio y manejable.

  6. Implemente el bot principal en el entorno de desarrollo y pruébelo: el bot principal actualizado, que ahora incluye las nuevas funciones o cambios, se implementa en el entorno de desarrollo. Aquí, se somete a pruebas exhaustivas para garantizar que todas las funcionalidades funcionen según lo esperado.

  7. Implemente el bot principal en el entorno de producción: una vez finalizadas y satisfactorias las pruebas en el entorno de desarrollo, el bot principal se despliega en el entorno de producción. Este paso es la etapa final del flujo de trabajo, en la que las nuevas funciones están disponibles para los usuarios finales.

Automatizar y escalar

El flujo de trabajo automatizado permite a los desarrolladores trabajar en diferentes funciones en paralelo, cada una en ramas separadas. Esto facilita el desarrollo simultáneo, lo que permite a los equipos colaborar de forma eficaz y ofrecer funciones con mayor rapidez. Al estar las sucursales aisladas unas de otras, los cambios se pueden combinar e implementar sin bloquear ni interferir con otros trabajos en curso.

El flujo de trabajo automatiza el despliegue y la promoción de versiones de bots en diferentes entornos, como el desarrollo, las pruebas y la producción.

El almacenamiento de las definiciones de bots en un sistema de control de versiones como Git proporciona un registro de auditoría completo y permite una colaboración eficiente. Los desarrolladores individuales controlan los cambios, lo que garantiza la transparencia y la responsabilidad durante todo el ciclo de vida del desarrollo. Este enfoque también facilita las revisiones del código, lo que permite a los equipos identificar y abordar los problemas antes de implementarlos en producción.

Al utilizar AWS CodePipeline y otros Servicios de AWS, el flujo de trabajo automatizado puede ampliarse para adaptarse a las crecientes cargas de trabajo y al tamaño de los equipos.

Herramientas

Servicios de AWS

  • AWS Cloud Development Kit (AWS CDK)es un marco de desarrollo de software de código abierto para definir la Nube de AWS infraestructura en el código mediante el uso de lenguajes de programación conocidos y aprovisionarla mediante el aprovisionamiento. AWS CloudFormation La implementación de ejemplo de este patrón usa Python.

  • AWS CDK Interfaz de línea de comandos (AWS CDK CLI): el AWS CDK kit de herramientas es la herramienta principal para interactuar con AWS CDK la aplicación. Ejecuta tu aplicación, consulta el modelo de aplicación que has definido y produce e implementa las AWS CloudFormation plantillas generadas por la CDK.

  • AWS CloudFormationle ayuda a configurar AWS los recursos, aprovisionarlos de forma rápida y coherente y gestionarlos a lo largo de su ciclo de vida en todo el país. Cuentas de AWS Regiones de AWS Este patrón se utiliza CloudFormation para implementar las configuraciones de bots de Amazon Lex y los recursos relacionados utilizando la infraestructura como código.

  • AWS CodeBuildes un servicio de compilación totalmente administrado que le ayuda a compilar el código fuente, ejecutar pruebas unitarias y producir artefactos listos para su implementación. Este patrón se utiliza CodeBuild para crear y empaquetar los artefactos de implementación.

  • AWS CodePipelinele ayuda a modelar y configurar rápidamente las diferentes etapas de una versión de software y a automatizar los pasos necesarios para publicar los cambios de software de forma continua. Este patrón se utiliza CodePipeline para organizar el proceso de entrega continua.

  • AWS Command Line Interface (AWS CLI) es una herramienta de código abierto que le ayuda a interactuar Servicios de AWS mediante comandos en el shell de la línea de comandos.

  • AWS Identity and Access Management (IAM) le ayuda a administrar de forma segura el acceso a sus AWS recursos al controlar quién está autenticado y autorizado a usarlos.

  • AWS Lambda es un servicio de computación que ayuda a ejecutar código sin necesidad de aprovisionar ni administrar servidores. Ejecuta el código solo cuando es necesario y amplía la capacidad de manera automática, por lo que solo pagará por el tiempo de procesamiento que utilice.

  • Amazon Lex V2 sirve Servicio de AWS para crear interfaces de conversación (bots) para aplicaciones que utilizan voz y texto.

  • AWS SDK for Python (Boto3)es un kit de desarrollo de software que le ayuda a integrar su aplicación, biblioteca o script de Python con Servicios de AWS.

Otras herramientas

  • Git es un sistema de control de versiones distribuido de código abierto.

Repositorio de código

El código de este patrón está disponible en el repositorio GitHub management-framework-sample-for-amazon-lex. El repositorio de código contiene las siguientes carpetas y archivos:

  • prerequisitecarpeta: contiene definiciones de CloudFormation pila (utilizando AWS CDK) para configurar los recursos y entornos necesarios.

  • prerequisite/lexmgmtworkflowfolder: directorio principal del proyecto Lex Management Workflow, que incluye las definiciones de pila y el código Python.

  • prerequisite/tests— Contiene pruebas unitarias.

  • srcfolder: directorio de código fuente, que incluye el contenedor y las utilidades de administración de bots de Amazon Lex.

  • src/dialogue_lambda— Directorio de códigos fuente de la función Lambda del enlace de diálogo que intercepta y procesa las entradas de los usuarios durante una conversación con un bot de Amazon Lex.

Prácticas recomendadas

  • Separación de preocupaciones

    • Mantenga una clara separación de responsabilidades entre DevOps los entornos de desarrollo y producción.

    • Úselo Cuentas de AWS por separado para cada entorno a fin de reforzar los límites de aislamiento y seguridad adecuados.

    • Utilice funciones multicuentas y principios de acceso con privilegios mínimos para garantizar el acceso controlado entre entornos.

  • La infraestructura como código

    • Revise y actualice periódicamente el código de infraestructura para adaptarlo a las mejores prácticas y a los requisitos en evolución.

    • Establezca una estrategia clara de ramificación y fusión para el repositorio de código fuente

  • Pruebas y validación

    • Implemente pruebas automatizadas en varias etapas del proceso para detectar los problemas al principio del ciclo de desarrollo.

    • Utilice la consola Amazon Lex o los marcos de pruebas automatizadas para validar las configuraciones y la funcionalidad de los bots antes de ascender a entornos superiores.

    • Considere la posibilidad de implementar puertas de aprobación manuales para las implementaciones en entornos críticos o de producción.

  • Supervisión y registro

    • Configure mecanismos de supervisión y registro para las canalizaciones, las implementaciones y las interacciones entre los bots.

    • Supervise los eventos de la canalización, los estados de despliegue y las métricas de rendimiento de los bots para identificar y abordar los problemas con prontitud.

    • Utilice los servicios de AWS, como Amazon CloudWatch AWS CloudTrail, y AWS X-Ray para el registro y la supervisión centralizados.

    • Revise y analice periódicamente el rendimiento, la eficiencia y la eficacia del flujo de trabajo automatizado.

  • Seguridad y conformidad

    • Implemente prácticas de codificación seguras y siga las prácticas recomendadas de AWS seguridad para el desarrollo e implementación de los bots Amazon Lex.

    • Revise y actualice periódicamente las funciones, las políticas y los permisos de IAM para ajustarlos al principio de privilegios mínimos.

    • Considere la posibilidad de integrar el análisis de seguridad y las comprobaciones de cumplimiento en los procesos.

Epics

TareaDescripciónHabilidades requeridas

Configure el entorno de CDK local.

  1. Para clonar el repositorio de este patrón y navegar hasta el prerequisite directorio, ejecuta el siguiente comando:

    git clone https://github.com/aws-samples/management-framework-sample-for-amazon-lex.git cd management-framework-sample-for-amazon-lex
  2. Para instalar y activar el entorno virtual de Python, ejecute el siguiente comando que instala las dependencias de la CDK de forma local en la carpeta del proyecto, en lugar de hacerlo de forma global:

    pip install virtualenv python<version> -m venv .venv source .venv/bin/activate python -m pip install -r requirements.txt
AWS DevOps

Cree una función multicuenta en el devops entorno.

La devops cuenta es responsable de alojar y administrar las CI/CD pipelines. To enable the CI/CD canalizaciones para interactuar con los prod entornos dev y los entornos. Ejecute los siguientes comandos para crear un rol multicuenta en la cuenta. devops

cdk bootstrap --profile=devops cdk deploy LexMgmtDevopsRoleStack -c dev-account-id=2222222222222 -c prod-account-id=333333333333 --profile=devops
AWS DevOps

Cree una función multicuenta en el dev entorno.

Cree un rol de IAM en la dev cuenta con los permisos necesarios para permitir que la devops cuenta asuma este rol. La canalización de CI/CD usa esta función para realizar acciones en la dev cuenta, como implementar y administrar los recursos de los bots de Amazon Lex.

Para crear el rol de IAM, ejecute los siguientes comandos:

cdk bootstrap --profile=dev cdk deploy LexMgmtCrossaccountRoleStack -c devops-account-id=1111111111111 --profile=dev
AWS DevOps

Cree una función multicuenta en el prod entorno.

Cree un rol de IAM en la prod cuenta con los permisos necesarios para permitir que la devops cuenta asuma este rol. La canalización de CI/CD usa esta función para realizar acciones en la prod cuenta, como implementar y administrar los recursos de los bots de Amazon Lex.

cdk bootstrap --profile=prod cdk deploy LexMgmtCrossaccountRoleStack -c devops-account-id=1111111111111 --profile=prod
AWS DevOps

Cree canalizaciones en el devops entorno.

Para gestionar el flujo de trabajo de desarrollo de los bots de Amazon Lex, ejecute el siguiente comando para configurar las canalizaciones en el devops entorno.

cdk deploy LexMgmtWorkflowStack -c devops-account-id=1111111111111 -c dev-account-id=2222222222222 -c prod-account-id=333333333333 --profile=devops
AWS DevOps

Configurar iAC para la administración de bots de Amazon Lex

TareaDescripciónHabilidades requeridas

Configure el entorno de CDK local.

  1. Para clonar el repositorio de este patrón y navegar hasta el prerequisite directorio, ejecuta el siguiente comando:

    git clone https://github.com/aws-samples/management-framework-sample-for-amazon-lex.git cd management-framework-sample-for-amazon-lex
  2. Para instalar y activar el entorno virtual de Python, ejecute el siguiente comando que instala las dependencias de la CDK de forma local en la carpeta del proyecto, en lugar de hacerlo de forma global:

    pip install virtualenv python<version> -m venv .venv source .venv/bin/activate python -m pip install -r requirements.txt
AWS DevOps

Cree una función multicuenta en el devops entorno.

La devops cuenta es responsable de alojar y administrar las CI/CD pipelines. To enable the CI/CD canalizaciones para interactuar con los prod entornos dev y los entornos. Ejecute los siguientes comandos para crear un rol multicuenta en la cuenta. devops

cdk bootstrap --profile=devops cdk deploy LexMgmtDevopsRoleStack -c dev-account-id=2222222222222 -c prod-account-id=333333333333 --profile=devops
AWS DevOps

Cree una función multicuenta en el dev entorno.

Cree un rol de IAM en la dev cuenta con los permisos necesarios para permitir que la devops cuenta asuma este rol. La canalización de CI/CD usa esta función para realizar acciones en la dev cuenta, como implementar y administrar los recursos de los bots de Amazon Lex.

Para crear el rol de IAM, ejecute los siguientes comandos:

cdk bootstrap --profile=dev cdk deploy LexMgmtCrossaccountRoleStack -c devops-account-id=1111111111111 --profile=dev
AWS DevOps

Cree una función multicuenta en el prod entorno.

Cree un rol de IAM en la prod cuenta con los permisos necesarios para permitir que la devops cuenta asuma este rol. La canalización de CI/CD usa esta función para realizar acciones en la prod cuenta, como implementar y administrar los recursos de los bots de Amazon Lex.

cdk bootstrap --profile=prod cdk deploy LexMgmtCrossaccountRoleStack -c devops-account-id=1111111111111 --profile=prod
AWS DevOps

Cree canalizaciones en el devops entorno.

Para gestionar el flujo de trabajo de desarrollo de los bots de Amazon Lex, ejecute el siguiente comando para configurar las canalizaciones en el devops entorno.

cdk deploy LexMgmtWorkflowStack -c devops-account-id=1111111111111 -c dev-account-id=2222222222222 -c prod-account-id=333333333333 --profile=devops
AWS DevOps
TareaDescripciónHabilidades requeridas

Defina la versión inicial del bot principal.

Para definir la versión inicial del bot principal, activa la BaselineBotPipeline canalización.

La canalización implementa la definición básica del bot que está definida en la CloudFormation plantilla, exporta la definición principal del bot en forma de archivos.json y almacena el código del bot principal en un sistema de control de versiones.

AWS DevOps

Establezca la línea base para el bot principal

TareaDescripciónHabilidades requeridas

Defina la versión inicial del bot principal.

Para definir la versión inicial del bot principal, activa la BaselineBotPipeline canalización.

La canalización implementa la definición básica del bot que está definida en la CloudFormation plantilla, exporta la definición principal del bot en forma de archivos.json y almacena el código del bot principal en un sistema de control de versiones.

AWS DevOps
TareaDescripciónHabilidades requeridas

Cree el bot de tickets para desarrollar y probar una función.

TicketBotes una nueva instancia de bot que se importa de la definición de bot principal existente en la rama de funciones. Este enfoque garantiza que el nuevo bot tenga todas las funcionalidades y configuraciones actuales del bot principal.

Para definir la versión inicial del bot de tickets, activa la CreateTicketBotPipeline canalización.

La canalización crea una nueva rama de funciones en el sistema de control de versiones y crea una nueva instancia de ticket bot basada en el bot principal.

Desarrollador de Lex Bot

Desarrolle y pruebe la función Ticket Bot.

Para desarrollar y probar la función, inicie sesión en la consola Amazon Lex AWS Management Console y ábrala en https://console.aws.amazon.com/lex/. Para obtener más información, consulte Probar un bot mediante la consola en la documentación de Amazon Lex.

Con la TicketBot instancia, ahora puede añadir, modificar o ampliar la funcionalidad del bot para implementar la nueva función. Por ejemplo, puede crear o modificar intenciones, expresiones, espacios y flujos de diálogo. Para obtener más información, consulte Añadir intenciones en la documentación de Amazon Lex.

Desarrollador de Lex Bot

Exporte la definición del bot de tickets.

La definición de bot exportada es básicamente una representación de la configuración y la funcionalidad del bot en formato JSON.

Para exportar la definición del bot de tickets, activa la ExportTicketBotPipeline canalización.

La canalización exporta la definición del bot de tickets como archivos.json y almacena el código del bot de tickets en una rama de funciones del sistema de control de versiones.

Desarrollador de Lex Bot

Rebase la rama de funciones de la rama principal más reciente.

Durante el desarrollo de una nueva función, es posible que la rama principal haya recibido otros cambios por parte de diferentes desarrolladores o equipos.

Para incorporar estos cambios en la rama de funciones, realiza una rebase operación de Git. Básicamente, esta operación reproduce las confirmaciones de la rama de funciones sobre las confirmaciones más recientes de la rama principal, lo que garantiza que la rama de funciones incluya todos los cambios más recientes

Desarrollador de Lex Bot

Importa y valida el bot de tickets rebasado.

Tras cambiar la base de la rama de funciones, debes importarla a la instancia del bot de tickets. Esta importación actualiza el bot de tickets existente con los cambios más recientes de la sucursal reubicada.

Para importar el bot de tickets rebasado, activa la ImportTicketBotPipeline canalización.

La canalización importa a la instancia los archivos.json con la definición del bot de tickets que se encuentran en la rama de funciones del TicketBot sistema de control de versiones.

Desarrollador de Lex Bot

Valide la definición de bot rebasada.

Tras importar la definición de bot rebasada, es fundamental validar su funcionalidad. Debes asegurarte de que la nueva función funcione según lo esperado y no entre en conflicto con la funcionalidad existente.

Por lo general, esta validación implica probar el bot con varios escenarios de entrada, comprobar las respuestas y comprobar que el bot se comporta según lo previsto. Puedes realizar la validación de cualquiera de las siguientes maneras:

  • Pruebe el bot manualmente con la consola Amazon Lex.

  • Utilice un enfoque automatizado mediante marcos y herramientas de prueba que puedan simular las interacciones de los usuarios y afirmar las respuestas esperadas.

Desarrollador de Lex Bot

Combina la rama de funciones con la rama principal.

Tras desarrollar y probar la nueva función en la TicketBot instancia aislada, haga lo siguiente:

  1. Realice los cambios en la rama de funciones correspondiente del sistema de control de versiones.

  2. Para fusionar la rama de funciones con la rama principal, crea una solicitud de extracción (PR). Este PR sirve como una solicitud para revisar e incorporar los cambios en el código base principal.

Desarrollador de Lex Bot, administrador de repositorios

Elimina la rama de funciones y el bot de tickets.

Cuando una rama de funciones se haya fusionado correctamente con la rama principal, elimina la rama de funciones y el bot de tickets del repositorio de código fuente.

Para eliminar la rama de funciones y el bot de tickets, activa la DeleteTicketBotPipeline canalización.

La canalización elimina los recursos de bots temporales que se crearon durante el proceso de desarrollo (por ejemplo, el bot de tickets). Esta acción ayuda a mantener un repositorio limpio y a evitar confusiones o conflictos con las futuras ramas de funciones.

Desarrollador de Lex Bot

Implemente el flujo de trabajo de desarrollo de funciones

TareaDescripciónHabilidades requeridas

Cree el bot de tickets para desarrollar y probar una función.

TicketBotes una nueva instancia de bot que se importa de la definición de bot principal existente en la rama de funciones. Este enfoque garantiza que el nuevo bot tenga todas las funcionalidades y configuraciones actuales del bot principal.

Para definir la versión inicial del bot de tickets, activa la CreateTicketBotPipeline canalización.

La canalización crea una nueva rama de funciones en el sistema de control de versiones y crea una nueva instancia de ticket bot basada en el bot principal.

Desarrollador de Lex Bot

Desarrolle y pruebe la función Ticket Bot.

Para desarrollar y probar la función, inicie sesión en la consola Amazon Lex AWS Management Console y ábrala en https://console.aws.amazon.com/lex/. Para obtener más información, consulte Probar un bot mediante la consola en la documentación de Amazon Lex.

Con la TicketBot instancia, ahora puede añadir, modificar o ampliar la funcionalidad del bot para implementar la nueva función. Por ejemplo, puede crear o modificar intenciones, expresiones, espacios y flujos de diálogo. Para obtener más información, consulte Añadir intenciones en la documentación de Amazon Lex.

Desarrollador de Lex Bot

Exporte la definición del bot de tickets.

La definición de bot exportada es básicamente una representación de la configuración y la funcionalidad del bot en formato JSON.

Para exportar la definición del bot de tickets, activa la ExportTicketBotPipeline canalización.

La canalización exporta la definición del bot de tickets como archivos.json y almacena el código del bot de tickets en una rama de funciones del sistema de control de versiones.

Desarrollador de Lex Bot

Rebase la rama de funciones de la rama principal más reciente.

Durante el desarrollo de una nueva función, es posible que la rama principal haya recibido otros cambios por parte de diferentes desarrolladores o equipos.

Para incorporar estos cambios en la rama de funciones, realiza una rebase operación de Git. Básicamente, esta operación reproduce las confirmaciones de la rama de funciones sobre las confirmaciones más recientes de la rama principal, lo que garantiza que la rama de funciones incluya todos los cambios más recientes

Desarrollador de Lex Bot

Importa y valida el bot de tickets rebasado.

Tras cambiar la base de la rama de funciones, debes importarla a la instancia del bot de tickets. Esta importación actualiza el bot de tickets existente con los cambios más recientes de la sucursal reubicada.

Para importar el bot de tickets rebasado, activa la ImportTicketBotPipeline canalización.

La canalización importa a la instancia los archivos.json con la definición del bot de tickets que se encuentran en la rama de funciones del TicketBot sistema de control de versiones.

Desarrollador de Lex Bot

Valide la definición de bot rebasada.

Tras importar la definición de bot rebasada, es fundamental validar su funcionalidad. Debes asegurarte de que la nueva función funcione según lo esperado y no entre en conflicto con la funcionalidad existente.

Por lo general, esta validación implica probar el bot con varios escenarios de entrada, comprobar las respuestas y comprobar que el bot se comporta según lo previsto. Puedes realizar la validación de cualquiera de las siguientes maneras:

  • Pruebe el bot manualmente con la consola Amazon Lex.

  • Utilice un enfoque automatizado mediante marcos y herramientas de prueba que puedan simular las interacciones de los usuarios y afirmar las respuestas esperadas.

Desarrollador de Lex Bot

Combina la rama de funciones con la rama principal.

Tras desarrollar y probar la nueva función en la TicketBot instancia aislada, haga lo siguiente:

  1. Realice los cambios en la rama de funciones correspondiente del sistema de control de versiones.

  2. Para fusionar la rama de funciones con la rama principal, crea una solicitud de extracción (PR). Este PR sirve como una solicitud para revisar e incorporar los cambios en el código base principal.

Desarrollador de Lex Bot, administrador de repositorios

Elimina la rama de funciones y el bot de tickets.

Cuando una rama de funciones se haya fusionado correctamente con la rama principal, elimina la rama de funciones y el bot de tickets del repositorio de código fuente.

Para eliminar la rama de funciones y el bot de tickets, activa la DeleteTicketBotPipeline canalización.

La canalización elimina los recursos de bots temporales que se crearon durante el proceso de desarrollo (por ejemplo, el bot de tickets). Esta acción ayuda a mantener un repositorio limpio y a evitar confusiones o conflictos con las futuras ramas de funciones.

Desarrollador de Lex Bot
TareaDescripciónHabilidades requeridas

Importe la última definición de bot principal al dev entorno.

Para importar al dev entorno la última definición de bot principal de la rama principal, activa la DeployBotDevPipeline canalización.

La canalización también crea una etiqueta git tras su aprobación.

AWS DevOps

Importe la última definición de bot principal al prod entorno.

Para importar al prod entorno la definición de bot más reciente de la rama principal, proporciona la referencia de etiqueta de la tarea anterior como parámetro y activa la DeployBotProdPipeline canalización.

La canalización importa la definición de bot más reciente de una etiqueta específica al prod entorno.

AWS DevOps

Mantén el bot principal

TareaDescripciónHabilidades requeridas

Importe la última definición de bot principal al dev entorno.

Para importar al dev entorno la última definición de bot principal de la rama principal, activa la DeployBotDevPipeline canalización.

La canalización también crea una etiqueta git tras su aprobación.

AWS DevOps

Importe la última definición de bot principal al prod entorno.

Para importar al prod entorno la definición de bot más reciente de la rama principal, proporciona la referencia de etiqueta de la tarea anterior como parámetro y activa la DeployBotProdPipeline canalización.

La canalización importa la definición de bot más reciente de una etiqueta específica al prod entorno.

AWS DevOps

Solución de problemas

ProblemaSolución

Al implementar los bots de Amazon Lex en diferentes cuentas Cuentas de AWS, los servicios de herramientas deben tener los permisos necesarios para acceder a los recursos de esas cuentas.

Para conceder el acceso entre cuentas, utilice las funciones y políticas de IAM. Cree funciones de IAM en las cuentas de destino y adjunte políticas a las funciones que concedan los permisos necesarios. A continuación, asuma estas funciones desde la cuenta en la que está desplegado el bot Amazon Lex.

Para obtener más información, consulte los permisos de IAM necesarios para importar y los permisos de IAM necesarios para exportar bots en Lex V2 en la documentación de Amazon Lex.

Recursos relacionados

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.