Depure funciones localmente con AWS SAM - AWS Serverless Application Model

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
  • Node.js

  • Python

  • .NET

  • Java

  • Go

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
  • Node.js

  • Python

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:

  1. 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.

  2. 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 o delve.

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.