Depure funciones localmente con AWS SAM
Puedes utilizar AWS SAM con una variedad de kits de herramientas AWS y depuradores para probar y depurar sus aplicaciones sin servidor de forma local. La depuración gradual de las funciones de Lambda te permite identificar y corregir los problemas de la aplicación, línea por línea o instrucción, en su entorno local.
Por ejemplo, puede realizar una depuración gradual local de las funciones de Lambda estableciendo puntos de interrupción, inspeccionando variables y ejecutando el código de la función línea por línea. La depuración gradual local estrecha el ciclo de retroalimentación, ya que te permite encontrar y solucionar los problemas que puedan surgir en la nube.
Puedes utilizar los AWS kits de herramientas para realizar la depuración y también puede ejecutarla en modo de depuración. AWS SAM Para obtener más información, consulta la sección del tema .
Uso de kits de herramientas AWS
Los kits de herramientas de AWS son complementos de entornos de desarrollo integrados (IDE) que permiten realizar muchas tareas de depuración habituales, como establecer puntos de interrupción, inspeccionar variables y ejecutar el código de la función línea por línea. AWS Los kits facilitan el desarrollo, la depuración y la implementación de aplicaciones sin servidor que utilizan AWS SAM. Proporcionan una experiencia para crear, probar, depurar, implementar e invocar funciones de Lambda integradas en su IDE.
Para obtener más información sobre los kits de herramientas AWS que puede utilizar con AWS SAM, consulta lo siguiente:
Hay varios kits de herramientas de AWS que funcionan con diferentes combinaciones de IDE y tiempos de ejecución. En la siguiente tabla se enumeran las combinaciones habituales de IDE y tiempo de ejecución que permiten la depuración gradual de las aplicaciones AWS SAM:
IDE | Tiempo de ejecución | AWS Toolkit | Instrucciones para la depuración gradual |
---|---|---|---|
Visual Studio Code |
|
AWS Toolkit for Visual Studio Code | Trabajar con Aplicación sin servidor de AWS en la Guía del usuario de AWS Toolkit for Visual Studio Code |
AWS Cloud9 |
|
AWS Cloud9, con el kit de herramientas de AWS activado1 |
Trabajar con AWS sin servidor mediante el uso del kit de herramientas de AWS en la Guía del usuario de AWS Cloud9. |
WebStorm | Node.js | AWS Toolkit for JetBrains2 |
Ejecución (invocación) o depuración de una función local en el AWS Toolkit for JetBrains |
PyCharm | Python | AWS Toolkit for JetBrains2 |
Ejecución (invocación) o depuración de una función local en el AWS Toolkit for JetBrains |
Rider | .NET | AWS Toolkit for JetBrains2 |
Ejecución (invocación) o depuración de una función local en el AWS Toolkit for JetBrains |
IntelliJ | Java | AWS Toolkit for JetBrains2 |
Ejecución (invocación) o depuración de una función local en el AWS Toolkit for JetBrains |
GoLand | Go | AWS Toolkit for JetBrains2 |
Ejecución (invocación) o depuración de una función local en el AWS Toolkit for JetBrains |
Notas:
-
Para usar AWS Cloud9 depurar aplicaciones AWS SAM paso a paso, el kit de herramientas de AWS debe estar habilitado. Para obtener más información, consulta Habilitación del kit herramientas de AWS en la Guía del usuario de AWS Cloud9.
-
Para utilizar las aplicaciones AWS SAM para depurar paso a paso AWS Toolkit for JetBrains, primero debe instalarlo y configurarlo siguiendo las instrucciones que se encuentran en Instalación del AWS Toolkit for JetBrains en el AWS Toolkit for JetBrains.
Se ejecuta AWS SAM localmente en modo de depuración
Además de integrarse con los kits de herramientas de AWS, también puede ejecutar AWS SAM en «modo de depuración» para adjuntarlo a depuradores de terceros, como ptvsd
Para ejecutar AWS SAM en modo de depuración, usa comandos sam local invoke o sam local start-api con la opción --debug-port
o -d
.
Por ejemplo:
# Invoke a function locally in debug mode on port 5858 sam local invoke -d 5858 <function logical id> # Start local API Gateway in debug mode on port 5858 sam local start-api -d 5858
nota
Si utiliza sam local start-api
, la instancia de la API Gateway local expone todas las funciones de Lambda;. Sin embargo, debido a que solo se puede especificar un puerto de depuración, las funciones solo se pueden depurar de una en una. Debe llamar a su API antes de que AWS SAM CLI se vincule al puerto, lo que permite que el depurador se conecte.