Ejecución y depuración de recursos locales de Amazon API Gateway - AWS Kit de herramientas para VS Code

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 y depuración de recursos locales de Amazon API Gateway

Puede ejecutar o depurar recursos locales de AWS SAM API Gateway, especificados en template.yaml, mediante la ejecución de una configuración de lanzamiento de VS Code de type=aws-sam con invokeTarget.target=api.

nota

API Gateway admite dos tipos de API: REST y HTTP. Sin embargo, la característica API Gateway con el AWS Toolkit for Visual Studio Code solo admite las API de REST. A veces las API HTTP se llaman “API Gateway V2”.

Para ejecutar y depurar recursos de API Gateway locales
  1. Elija uno de los siguientes enfoques para crear una configuración de lanzamiento para un recurso de AWS SAM API Gateway:

    • Opción 1: visite el código fuente del controlador (archivo .js, .cs o .py) en su proyecto de AWS SAM, coloque el cursor sobre el controlador de Lambda y elija el CodeLens Agregar configuración de depuración. A continuación, en el menú, elija el elemento marcado como Evento de API.

    • Opción 2: edite launch.json y cree una nueva configuración de lanzamiento mediante la sintaxis siguiente.

      { "type": "aws-sam", "request": "direct-invoke", "name": "myConfig", "invokeTarget": { "target": "api", "templatePath": "n12/template.yaml", "logicalId": "HelloWorldFunction" }, "api": { "path": "/hello", "httpMethod": "post", "payload": { "json": {} } }, "sam": {}, "aws": {} }
  2. En el panel Ejecutar de VS Code, elija la configuración de lanzamiento (denominada myConfig en el ejemplo anterior).

  3. (Opcional) Agregue puntos de interrupción al código del proyecto de Lambda.

  4. Escriba F5 o seleccione Reproducir en el panel Ejecutar.

  5. En el panel de resultados, vea los resultados.

Configuración

Cuando utiliza el valor api de la propiedad invokeTarget.target, Toolkit cambia la validación y el comportamiento de la configuración de lanzamiento para admitir un campo api.

{ "type": "aws-sam", "request": "direct-invoke", "name": "myConfig", "invokeTarget": { "target": "api", "templatePath": "n12/template.yaml", "logicalId": "HelloWorldFunction" }, "api": { "path": "/hello", "httpMethod": "post", "payload": { "json": {} }, "querystring": "abc=def&qrs=tuv", "headers": { "cookie": "name=value; name2=value2; name3=value3" } }, "sam": {}, "aws": {} }

Reemplace los valores del ejemplo de la siguiente manera:

invokeTarget.logicalId

Un recurso de API.

path

La ruta de la API que solicita la configuración de lanzamiento; por ejemplo, "path": "/hello".

Debe ser una ruta de API válida resuelta desde el archivo template.yaml especificado por invokeTarget.templatePath.

httpMethod

Uno de los verbos siguientes: “delete”, “get”, “head”, “options”, “patch”, “post”, “put”.

payload

La carga JSON (cuerpo HTTP) para enviar en la solicitud, con la misma estructura y las mismas reglas que el campo lambda.payload.

payload.path apunta a un archivo que contiene la carga JSON.

payload.json especifica una carga JSON en línea.

headers

Mapa opcional de pares nombre-valor, que se utiliza para especificar encabezados HTTP que se incluirán en la solicitud, tal y como se muestra en el siguiente ejemplo.

"headers": { "accept-encoding": "deflate, gzip;q=1.0, *;q=0.5", "accept-language": "fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5", "cookie": "name=value; name2=value2; name3=value3", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36", }
querystring

Cadena opcional que establece la propiedad querystring de la solicitud; por ejemplo, "querystring": "abc=def&ghi=jkl".

AWS

Cómo se proporciona la información de conexión de AWS. Para obtener más información, consulte la tabla de propiedades (“aws”) de conexión de AWS en la sección Opciones de configuración para depurar aplicaciones sin servidor.

sam

Procedimiento que sigue AWS SAM CLI para compilar la aplicación. Para obtener más información, consulte la tabla de propiedades (“sam”) de conexión de AWS SAM CLI en la sección Opciones de configuración para depurar aplicaciones sin servidor.