¿Cómo pasar los parámetros de la string de consulta a la función AWS Lambda o al punto de enlace HTTP?

En este artículo, exploraremos el proceso de pasar parámetros de string de consulta de un cliente a la puerta de enlace de API de backend Lambda o de punto final HTTP. Como sabemos, hay dos tipos de integraciones para puntos finales Lambda y HTTP. El primer tipo es la integración de proxy y el segundo tipo es la integración sin proxy . Si bien la implementación de proxy es el enfoque recomendado, ya que simplifica la administración de la API y reduce el tiempo de respuesta de la API, la implementación sin proxy obliga al uso de plantillas de mapeo.

Aunque las plantillas son compatibles con el uso en API Gateway, utilizan VTL. Dado que el equipo de soporte de AWS no admite la compatibilidad con el idioma VLT, los clientes que deseen personalizar las plantillas para su caso de uso deben tener conocimiento del idioma VLT. Hay dos tipos de integración:

Integración de proxy:

 Cuando un cliente envía una solicitud de API, la puerta de enlace de la API pasa la solicitud sin procesar al backend tal cual, excepto que no se conserva el orden de los parámetros de la solicitud. Los parámetros de solicitud se pueden denominar encabezados, strings de consulta, parámetros de ruta, etc.

Integración sin proxy:

 Con esta integración, debe asegurarse de que la entrada al back-end se proporcione como la carga útil de la solicitud de integración. Esto implica que usted, como desarrollador de API, debe asignar los parámetros de string de consulta, junto con cualquier dato de entrada que el cliente haya proporcionado como parámetro de solicitud, en el cuerpo de solicitud de integración adecuado mediante una plantilla de asignación.

Para la integración de proxy:

Paso 1: Abra la Consola de administración de API Gateway y elija la API.

Paso 2: Elige los recursos. Elija el método HTTP configurado.

Paso 3: Elija la solicitud de integración.

Paso 4: seleccione HTTP o Lambda como tipo de integración. Marque la casilla «Usar integración de proxy HTTP» para el backend HTTP o use la integración de proxy Lambda para el backend lambda. Seleccione el «método HTTP» compatible con el backend. Proporcione una «URL de punto final». Por ejemplo, un punto final de una tienda de mascotas. Seleccione la función Lambda y acepte las demás configuraciones predeterminadas. Finalmente, elige guardar.

Paso 5: Ahora implemente la API haciendo clic en la pestaña Acciones.

Para la integración sin proxy de Lambda:

Para ello, debe asegurarse de que la entrada a la función lambda se proporcione como la carga útil de la solicitud de integración. Esto implica que usted, como desarrollador de API, debe asignar parámetros de string de consulta junto con los datos de entrada que el cliente proporcionó como parámetros de solicitud en el cuerpo de solicitud de integración adecuado mediante una plantilla de asignación. Los siguientes son los pasos para el mismo:

Paso 1: abra la consola de API Gateway y elija la API.

Paso 2: Elige los recursos. Elija el método HTTP configurado.

Paso 3: en el panel de ejecución del método, elija Solicitud de método.

Paso 4: expanda la sección Parámetros de string de consulta de URL y elija «Agregar string de consulta».

Paso 5: Ingrese «foo» para el nombre, seleccione la opción requerida y elija el ícono de marca de verificación para guardar la configuración. Seleccione la opción Almacenamiento en caché según el requisito, regrese al panel de ejecución del método y luego elija Solicitud de integración.

Paso 6: expanda la sección de la plantilla de mapeo y seleccione Agregar plantilla de mapeo. Ingrese el JSON de la aplicación para el tipo de contenido, elija el icono de marca de verificación para guardar la configuración en la ventana emergente que aparece. Elija «Sí, asegurar esta integración».

Paso 7: Verifique el recomendado «cuando no hay plantillas definidas» para el paso del cuerpo de la solicitud. Reemplace el script de asignación generado en el editor de plantillas de asignación con lo siguiente:

#set($inputRoot = $input.path('$'))
{
"foo": "$input.params('foo')"
}

Aquí, los parámetros de punto de entrada devuelven el valor del parámetro de solicitud de método de la string de consulta de la ruta o el valor del encabezado. Dada una string de nombres de parámetro «foo». Los parámetros de punto de entrada devuelven el valor de un parámetro de solicitud de método de la ruta, la string de consulta o el valor del encabezado. Dada una string de nombre de parámetro foo. Esta plantilla dada asignará el valor devuelto por input.params a una variable llamada «foo» que se puede recuperar en el backend.

Paso 8: Luego elija guardar e implementar la API.

Publicación traducida automáticamente

Artículo escrito por ddeevviissaavviittaa y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *