Ejecución de API Gateway localmente - AWS Serverless Application Model

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.

Ejecución de API Gateway localmente

Usarsam local start-apipara iniciar una instancia local de API Gateway que utilizará para probar la funcionalidad de solicitud/respuesta HTTP. Esta funcionalidad incluye recarga en caliente para permitirle desarrollar e iterar rápidamente sus funciones.

nota

La «recarga en caliente» se produce cuando solo los archivos que han cambiado se actualizan sin perder el estado de la aplicación. En cambio, la «recarga en directo» se produce cuando se actualiza toda la aplicación, de modo que se pierde el estado de la aplicación.

Debes ejecutarsam local start-apien el directorio de proyecto que contiene la función que desea que invoque.

Por defecto,AWS SAMutiliza integraciones proxy Lambda y admite ambosHttpApiyApitipos de recursos de. Para obtener más información acerca de las integraciones de proxy paraHttpApitipos de recursos, consulteUso de integraciones de proxy de Lambda para API HTTP. Para obtener más información acerca de las integraciones de proxy conApitipos de recursos, consulteDescripción de la integración de proxy de Lambda en API Gateway.

Ejemplo:

sam local start-api

AWS SAMencuentra automáticamente cualquier función dentro de suAWS SAMplantilla que tieneHttpApioApiorígenes de eventos definidas. A continuación, los monta en las rutas HTTP definidas.

En los siguientes ejemplos deApiejemplo de la acciónRatingsmontajes de funciónratings.py:handler()a/ratingsparaGETsolicitudes de:

Ratings: Type: AWS::Serverless::Function Properties: Handler: ratings.handler Runtime: python3.6 Events: Api: Type: Api Properties: Path: /ratings Method: get

A continuación se muestra un ejemploApirespuesta:

// Example of a Proxy Integration response exports.handler = (event, context, callback) => { callback(null, { statusCode: 200, headers: { "x-custom-header" : "my custom header value" }, body: "hello world" }); }

Archivo de variables de entorno

Puede utilizar el--env-varsargumento con elinvokeostart-apipara proporcionar un archivo JSON que contiene valores para reemplazar las variables de entorno ya definidas en la plantilla de función. Puede estructurar el archivo de la siguiente manera:

{ "MyFunction1": { "TABLE_NAME": "localtable", "BUCKET_NAME": "testBucket" }, "MyFunction2": { "TABLE_NAME": "localtable", "STAGE": "dev" }, }

Como alternativa, el archivo de entorno puede contener un únicoParametersentrada con las variables de entorno para todas las funciones. Tenga en cuenta que este formato no se puede combinar con el ejemplo anterior.

{ "Parameters": { "TABLE_NAME": "localtable", "BUCKET_NAME": "testBucket", "STAGE": "dev" } }

Guardar las variables de entorno en un archivo denominadoenv.json. El siguiente comando utiliza este archivo para anular las variables de entorno incluidas:

sam local start-api --env-vars env.json

Capas

Si la aplicación incluye capas, consulteTrabajar con capaspara obtener más información sobre cómo depurar problemas de capas en el host local.