API Gateway: Error al llamar función Lambda

[vc_row el_class=”blog-info”][vc_column][vc_single_image source=”featured_image” img_size=”full” style=”vc_box_rounded”][vc_empty_space height=”40px”][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text el_class=”font-weight-bold”]

Un error cuando llamo a una función Lambda a través de API Gateway

Vayamos a Amazon API Gateway…

Para ser más claros, cuando digo error, indica Internal Server Error (Error interno del servidor), usando las herramientas de desarrollo del navegador podemos ver que es una respuesta 500.

En mi caso, la API no tenía los permisos necesarios para llamar a la lambda para invocar la función, como resultado, vi el error 500 desde la puerta de enlace de la API.

Saltemos y podemos echar un vistazo más profundo debajo del capó.

[/vc_column_text][vc_empty_space height=”40px”][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text]


En Recursos, he creado un recurso secundario en la raíz. En el recurso secundario, también agregué/creé un método Get.

API Gateway

A continuación, bajemos a Stages. He creado una etapa de prueba, la seleccionaré y luego seleccionaré Stage variables (Variables de etapa). Agregaré una variable de etapa, el Name (Nombre) será VarFunction y el Value (Valor) se llamará prueba, todo en minúsculas para evitar confusiones, no olvide presionar la marca de verificación para guardar.

A continuación, volveremos a los recursos, desde la raíz, seleccione acciones, seleccione crear un nuevo recurso.

API Gateway

Debemos proporcionar un nombre (para este ejemplo, simplemente usaré la prueba de nombre) para el nombre del recurso, luego seleccione crear el recurso.

Con el recurso de prueba creado, seleccionaré acciones y seleccionaré para crear un método, para el tipo seleccionaré GET del menú desplegable, no olvide seleccionar la marca de verificación para guardar.

API Gateway

API Gateway

A continuación, queremos asegurarnos de seleccionar el tipo de integración de la función Lambda. Seleccione la región de Lambdba que corresponda a su caso de uso. Bajo la función Lambda, usaremos la variable de etapa que configuramos desde arriba, Seleccione guardar.

API Gateway

Después de seleccionar Save (Guardar), verá un cuadro emergente con información para Add (Agregar) permiso a la función Lambda. He ofuscado parte de la información que es específica de mi cuenta/configuración de AWS, pero la suya será similar.

El comando debe ejecutarse desde la AWS CLI, recuerde actualizar/cambiar la función: para que coincida con el nombre de su función Lambda.

El último paso es regresar a la puerta de enlace de la API de AWS e implementar la API.

[/vc_column_text][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][/vc_column][/vc_row][vc_row el_class=”social-info”][vc_column width=”1/6″][/vc_column][vc_column width=”2/3″][vc_row_inner][vc_column_inner width=”1/2″][vc_column_text][social_share_button themes=’theme1′][/vc_column_text][/vc_column_inner][vc_column_inner el_class=”youtube-inner-col” width=”1/2″][vc_column_text][likebtn theme=”youtube” lang=”auto” show_like_label=”0″ white_label=”1″ alignment=”right”][/vc_column_text][/vc_column_inner][/vc_row_inner][vc_row_inner el_class=”social-info-inner”][vc_column_inner width=”1/4″][vc_single_image image=”921″][/vc_column_inner][vc_column_inner width=”3/4″][vc_column_text]

Diego Pacheco

Ingeniero en Sitemas, MBA (Babson College). Desarrollador PHP/Java/JavaScript. Fundador & CEO de EpicStudio. Entusiasta de las tecnologías web (JavaScript, Vue, Laravel, AWS, Docker) Viajes, Negocios, Surf y Growth.[/vc_column_text][asvc_list_item icon_fontawesome=”fa fa-calendar-o” icon_size=”14px”]Programar una reunión[/asvc_list_item][/vc_column_inner][/vc_row_inner][/vc_column][vc_column width=”1/6″][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

Recent Post

[/vc_column_text][lvca_posts_carousel posts_query=”size:3|order_by:rand|post_type:post” image_linkable=”true” image_size=”full” taxonomy_chosen=”post_tag” display_title=”true” display_post_date=”true” display_summary=”true” autoplay_speed=”3000″ animation_speed=”300″ display_columns=”3″ scroll_columns=”3″ gutter=”3″ tablet_display_columns=”2″ tablet_scroll_columns=”2″ tablet_gutter=”3″ tablet_width=”800″ mobile_display_columns=”1″ mobile_scroll_columns=”1″ mobile_gutter=”3″ mobile_width=”480″][vc_empty_space height=”20px”][/vc_column][/vc_row]