{"id":10988,"date":"2020-10-08T09:01:25","date_gmt":"2020-10-08T09:01:25","guid":{"rendered":"https:\/\/beta.bluetab.net\/como-depurar-una-lambda-de-aws-en-local\/"},"modified":"2021-07-09T09:52:32","modified_gmt":"2021-07-09T09:52:32","slug":"como-depurar-una-lambda-de-aws-en-local","status":"publish","type":"post","link":"https:\/\/bluetab.com\/en\/como-depurar-una-lambda-de-aws-en-local\/","title":{"rendered":"C\u00f3mo depurar una Lambda de AWS en local"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"10988\" class=\"elementor elementor-10988\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1814da00 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1814da00\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-11c0d891\" data-id=\"11c0d891\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-369d0c60 elementor-widget elementor-widget-heading\" data-id=\"369d0c60\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">C\u00f3mo depurar una Lambda de AWS en local<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-56e5f006 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"56e5f006\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-25ba56b4\" data-id=\"25ba56b4\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3fe9463 elementor-position-left elementor-vertical-align-middle elementor-widget elementor-widget-image-box\" data-id=\"3fe9463\" data-element_type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><figure class=\"elementor-image-box-img\"><a href=\"https:\/\/www.linkedin.com\/company\/bluetab-solutions\/?viewAsMember=true\" target=\"_blank\" tabindex=\"-1\"><img decoding=\"async\" data-src=\"https:\/\/bluetab.net\/wp-content\/uploads\/2020\/10\/avatarP-bluetab.jpg.png\" title=\"\" alt=\"\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" \/><\/a><\/figure><div class=\"elementor-image-box-content\"><h4 class=\"elementor-image-box-title\"><a href=\"https:\/\/www.linkedin.com\/company\/bluetab-solutions\/?viewAsMember=true\" target=\"_blank\">Bluetab<\/a><\/h4><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-365b5103\" data-id=\"365b5103\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-75638aea elementor-share-buttons--view-icon elementor-share-buttons--skin-minimal elementor-share-buttons--shape-circle elementor-grid-0 elementor-share-buttons--color-official elementor-widget elementor-widget-share-buttons\" data-id=\"75638aea\" data-element_type=\"widget\" data-widget_type=\"share-buttons.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-grid\" role=\"list\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_twitter\" role=\"button\" tabindex=\"0\" aria-label=\"Share on twitter\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-twitter\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_linkedin\" role=\"button\" tabindex=\"0\" aria-label=\"Share on linkedin\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-linkedin\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1239671b elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1239671b\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-narrow\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-710d2764\" data-id=\"710d2764\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6f07fc6 elementor-widget elementor-widget-theme-post-featured-image elementor-widget-image\" data-id=\"6f07fc6\" data-element_type=\"widget\" data-widget_type=\"theme-post-featured-image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"533\" src=\"https:\/\/bluetab.com\/wp-content\/uploads\/2020\/10\/blog-jose-ramon-monteverde.png\" class=\"attachment-large size-large wp-image-5996\" alt=\"\" srcset=\"https:\/\/bluetab.com\/wp-content\/uploads\/2020\/10\/blog-jose-ramon-monteverde.png 800w, https:\/\/bluetab.com\/wp-content\/uploads\/2020\/10\/blog-jose-ramon-monteverde-300x200.png 300w, https:\/\/bluetab.com\/wp-content\/uploads\/2020\/10\/blog-jose-ramon-monteverde-768x512.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-543ba8ee elementor-widget elementor-widget-text-editor\" data-id=\"543ba8ee\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>AWS Lambda es un servicio serverless mediante el que se puede ejecutar c\u00f3digo sin necesidad de levantar ni administrar m\u00e1quinas. Se paga solamente por el tiempo consumido en la ejecuci\u00f3n (15 minutos como m\u00e1ximo).<\/p>\n<p>El servicio dispone de un IDE simple, pero por su propia naturaleza no permite a\u00f1adir puntos de ruptura para depurar el c\u00f3digo. Seguro que algunos de vosotros os hab\u00e9is visto en esta situaci\u00f3n y hab\u00e9is tenido que hacer uso de m\u00e9todos poco ortodoxos como prints o ejecutar el c\u00f3digo directamente en vuestra m\u00e1quina, pero esto \u00faltimo no reproduce las condiciones reales de ejecuci\u00f3n del servicio.<\/p>\n<p>Para permitir depurar con fiabilidad desde nuestro propio PC, AWS pone a disposici\u00f3n SAM (Serverless Application Model).<\/p>\n<p class=\"has-larger-font-size\"><strong>Instalaci\u00f3n<\/strong><\/p>\n<p>Los requisitos necesarios son (se ha usado Ubuntu 18.04 LTS):<\/p>\n<ul>\n<li>Python (2.7 \u00f3 &gt;= 3.6)<\/li>\n<li>Docker<\/li>\n<li>IDE que se pueda enlazar a un puerto de debug (en nuestro caso usamos VS Code)<\/li>\n<li>awscli<\/li>\n<\/ul>\n<p><br \/>Para instalar la CLI de AWS SAM desde AWS recomiendan brew tanto para Linux como macOS, pero en este caso se ha optado por hacerlo con pip por homogeneidad:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8fae034 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"8fae034\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>python3 -m pip install aws-sam-cli <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.com\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f7c6708 elementor-widget elementor-widget-spacer\" data-id=\"f7c6708\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e4fcc2e elementor-widget elementor-widget-heading\" data-id=\"e4fcc2e\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Configuraci\u00f3n y ejecuci\u00f3n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-599f36a6 elementor-widget elementor-widget-text-editor\" data-id=\"599f36a6\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>1. Iniciamos un proyecto SAM<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4473627 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"4473627\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-solid'>sam init <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.com\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6f6674d elementor-widget elementor-widget-text-editor\" data-id=\"6f6674d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul>\n<li>Por simplicidad se selecciona \u201cAWS Quick Start Templates\u201d para crear un proyecto a trav\u00e9s de plantillas predefinidas<\/li>\n<li>Se elige la opci\u00f3n 9 \u2013 python3.6 como el lenguaje del c\u00f3digo que contendr\u00e1 nuestra lambda<\/li>\n<li>Se selecciona la plantilla de \u201cHello World Example\u00bb<\/li>\n<\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-25f18272 elementor-widget elementor-widget-image\" data-id=\"25f18272\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"768\" height=\"729\" data-src=\"https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/sam-init-768x729.png\" class=\"attachment-medium_large size-medium_large wp-image-5993 lazyload\" alt=\"\" data-srcset=\"https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/sam-init-768x729.png 768w, https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/sam-init-300x285.png 300w, https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/sam-init.png 825w\" data-sizes=\"(max-width: 768px) 100vw, 768px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 768px; --smush-placeholder-aspect-ratio: 768\/729;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3f911170 elementor-widget elementor-widget-text-editor\" data-id=\"3f911170\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>En este momento ya tenemos nuestro proyecto creado en la ruta especificada:<\/p>\n<ul>\n<li><strong>\/helloworld<\/strong>: app.py con el c\u00f3digo Python a ejecutar y requirements.txt con sus dependencias<\/li>\n<li><strong>\/events<\/strong>: events.json con ejemplo de evento a enviar a la lambda para su ejecuci\u00f3n. En nuestro caso el trigger ser\u00e1 un GET a la API a\u00a0<a href=\"http:\/\/localhost:3000\/hello\">http:\/\/localhost:3000\/hello<\/a><\/li>\n<li><strong>\/tests<\/strong>\u00a0: test unitario<\/li>\n<li><strong>template.yaml<\/strong>: plantilla con los recursos de AWS a desplegar en formato YAML de CloudFormation. En esta aplicaci\u00f3n de ejemplo ser\u00eda un API gateway + lamba y se emular\u00e1 ese despliegue localmente<\/li>\n<\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-930258a elementor-widget elementor-widget-spacer\" data-id=\"930258a\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1af7787 elementor-widget elementor-widget-text-editor\" data-id=\"1af7787\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>2. Se levanta la API en local y se hace un GET al endpoint<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2d4f75f elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"2d4f75f\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>sam local start-api <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.com\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-58dd1f9d elementor-widget elementor-widget-text-editor\" data-id=\"58dd1f9d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Concretamente el endpoint de nuestro HelloWorld<br \/>ser\u00e1 <a href=\"http:\/\/localhost:3000\/hello\">http:\/\/localhost:3000\/hello<\/a>\u00a0Hacemos un GET<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-54349b55 elementor-widget elementor-widget-image\" data-id=\"54349b55\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"424\" height=\"120\" data-src=\"https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/get-api.png\" class=\"attachment-medium_large size-medium_large wp-image-5991 lazyload\" alt=\"\" data-srcset=\"https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/get-api.png 424w, https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/get-api-300x85.png 300w\" data-sizes=\"(max-width: 424px) 100vw, 424px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 424px; --smush-placeholder-aspect-ratio: 424\/120;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-78a7031 elementor-widget elementor-widget-text-editor\" data-id=\"78a7031\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Y obtenemos la respuesta de la API<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0e4aed9 elementor-widget elementor-widget-image\" data-id=\"0e4aed9\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"768\" height=\"195\" data-src=\"https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/event-invokation-768x195.png\" class=\"attachment-medium_large size-medium_large wp-image-5989 lazyload\" alt=\"\" data-srcset=\"https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/event-invokation-768x195.png 768w, https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/event-invokation-300x76.png 300w, https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/event-invokation.png 884w\" data-sizes=\"(max-width: 768px) 100vw, 768px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 768px; --smush-placeholder-aspect-ratio: 768\/195;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e29b676 elementor-widget elementor-widget-spacer\" data-id=\"e29b676\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f4c133a elementor-widget elementor-widget-text-editor\" data-id=\"f4c133a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>3. A\u00f1adimos la librer\u00eda ptvsd (Python Tools for Visual Studio) para debugging a requirements.txt quedando como:<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5cd2272 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"5cd2272\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>requests\r\nptvsd <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.com\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d3d3e08 elementor-widget elementor-widget-spacer\" data-id=\"d3d3e08\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-76d7b7f elementor-widget elementor-widget-text-editor\" data-id=\"76d7b7f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>4. Habilitamos el modo debug en el puerto 5890 haciendo uso del siguiente c\u00f3digo en helloworld\/app.py<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-99330a3 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"99330a3\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>import ptvsd\r\n\r\nptvsd.enable_attach(address=(&#039;0.0.0.0&#039;, 5890), redirect_output=True)\r\nptvsd.wait_for_attach() <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.com\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bfab451 elementor-widget elementor-widget-text-editor\" data-id=\"bfab451\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>A\u00f1adimos tambi\u00e9n en app.py dentro de la funci\u00f3n lambda_handler varios prints para usar en la depuraci\u00f3n<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-712519d elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"712519d\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>print(&#039;punto de ruptura&#039;)\r\n\r\nprint(&#039;siguiente l&iacute;nea&#039;)\r\n\r\nprint(&#039;contin&uacute;a la ejecuci&oacute;n&#039;)\r\n\r\nreturn {\r\n    &quot;statusCode&quot;: 200,\r\n    &quot;body&quot;: json.dumps({\r\n        &quot;message&quot;: &quot;hello world&quot;,\r\n        # &quot;location&quot;: ip.text.replace(&quot;\\n&quot;, &quot;&quot;)\r\n    }),\r\n} <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.com\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5c319a6 elementor-widget elementor-widget-spacer\" data-id=\"5c319a6\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d230e49 elementor-widget elementor-widget-text-editor\" data-id=\"d230e49\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>5. Aplicamos los cambios realizados y construimos el contenedor<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-069d7ce elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"069d7ce\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>sam build --use-container <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.com\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-21d6e7f elementor-widget elementor-widget-image\" data-id=\"21d6e7f\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"850\" height=\"400\" data-src=\"https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/build-succeeded.png\" class=\"attachment-large size-large wp-image-5985 lazyload\" alt=\"\" data-srcset=\"https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/build-succeeded.png 850w, https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/build-succeeded-300x141.png 300w, https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/build-succeeded-768x361.png 768w\" data-sizes=\"(max-width: 850px) 100vw, 850px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 850px; --smush-placeholder-aspect-ratio: 850\/400;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3f2f559 elementor-widget elementor-widget-spacer\" data-id=\"3f2f559\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-84b9418 elementor-widget elementor-widget-text-editor\" data-id=\"84b9418\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>6. Configuramos el debugger de nuestro IDE<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f7bbd75 elementor-widget elementor-widget-text-editor\" data-id=\"f7bbd75\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>En VSCode se utiliza el fichero launch.json. Creamos en la ruta principal de nuestro proyecto la carpeta .vscode y dentro el fichero<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3fdd470 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"3fdd470\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>{\r\n  &quot;version&quot;: &quot;0.2.0&quot;,\r\n  &quot;configurations&quot;: [\r\n      {\r\n          &quot;name&quot;: &quot;SAM CLI Python Hello World&quot;,\r\n          &quot;type&quot;: &quot;python&quot;,\r\n          &quot;request&quot;: &quot;attach&quot;,\r\n          &quot;port&quot;: 5890,\r\n          &quot;host&quot;: &quot;127.0.0.1&quot;,\r\n          &quot;pathMappings&quot;: [\r\n              {\r\n                  &quot;localRoot&quot;: &quot;${workspaceFolder}\/hello_world&quot;,\r\n                  &quot;remoteRoot&quot;: &quot;\/var\/task&quot;\r\n              }\r\n          ]\r\n      }\r\n  ]\r\n} <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.com\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a2f817e elementor-widget elementor-widget-spacer\" data-id=\"a2f817e\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-72ea727 elementor-widget elementor-widget-text-editor\" data-id=\"72ea727\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>7. Establecemos un punto de ruptura en el c\u00f3digo en nuestro IDE<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2139ee9 elementor-widget elementor-widget-image\" data-id=\"2139ee9\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"742\" height=\"845\" data-src=\"https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/breakpoint.png\" class=\"attachment-large size-large wp-image-5981 lazyload\" alt=\"\" data-srcset=\"https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/breakpoint.png 742w, https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/breakpoint-263x300.png 263w\" data-sizes=\"(max-width: 742px) 100vw, 742px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 742px; --smush-placeholder-aspect-ratio: 742\/845;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2f72f88 elementor-widget elementor-widget-spacer\" data-id=\"2f72f88\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c44b3a9 elementor-widget elementor-widget-text-editor\" data-id=\"c44b3a9\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>8. Levantamos nuestra aplicaci\u00f3n con la API en el puerto de debug<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-67831ca elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"67831ca\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>sam local start-api --debug-port 5890 <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.com\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e6d57c0 elementor-widget elementor-widget-spacer\" data-id=\"e6d57c0\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0b2c8ea elementor-widget elementor-widget-text-editor\" data-id=\"0b2c8ea\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>9. Hacemos de nuevo un GET a la URL del endpoint\u00a0<a href=\"http:\/\/localhost:3000\/hello\">http:\/\/localhost:3000\/hello<\/a><\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0695319 elementor-widget elementor-widget-spacer\" data-id=\"0695319\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a7635eb elementor-widget elementor-widget-text-editor\" data-id=\"a7635eb\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>10. Lanzamos la aplicaci\u00f3n desde VSCode en modo debug, seleccionando la configuraci\u00f3n creada en launch.json<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-59b8c66 elementor-widget elementor-widget-image\" data-id=\"59b8c66\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"880\" height=\"604\" data-src=\"https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/debug-vscode.png\" class=\"attachment-large size-large wp-image-5987 lazyload\" alt=\"\" data-srcset=\"https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/debug-vscode.png 880w, https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/debug-vscode-300x206.png 300w, https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/debug-vscode-768x527.png 768w\" data-sizes=\"(max-width: 880px) 100vw, 880px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 880px; --smush-placeholder-aspect-ratio: 880\/604;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a130e87 elementor-widget elementor-widget-text-editor\" data-id=\"a130e87\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Y ya estamos en modo debug, pudiendo avanzar desde nuestro punto de ruptura<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e3ea3b7 elementor-widget elementor-widget-image\" data-id=\"e3ea3b7\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1024\" height=\"733\" data-src=\"https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/breakpoint-debugging-1024x733.png\" class=\"attachment-large size-large wp-image-5983 lazyload\" alt=\"\" data-srcset=\"https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/breakpoint-debugging-1024x733.png 1024w, https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/breakpoint-debugging-300x215.png 300w, https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/breakpoint-debugging-768x550.png 768w, https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/breakpoint-debugging.png 1099w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/733;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2572240 elementor-widget elementor-widget-text-editor\" data-id=\"2572240\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h5><strong>Alternativa: Se puede hacer uso de events\/event.json para lanzar la lambda a trav\u00e9s de un evento definido por nosotros<\/strong><\/h5>\n<p>En este caso lo modificamos incluyendo un solo par\u00e1metro de entrada:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-082dc53 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"082dc53\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>{\r\n   &quot;numero&quot;: &quot;1&quot;\r\n} <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.com\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ca43127 elementor-widget elementor-widget-text-editor\" data-id=\"ca43127\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h5>Y el c\u00f3digo de nuestra funci\u00f3n para hacer uso del evento:<\/h5>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e235185 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"e235185\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>print(&#039;punto de ruptura n&uacute;mero: &#039; + event[&quot;numero&quot;]) <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.com\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4cddf4e elementor-widget elementor-widget-text-editor\" data-id=\"4cddf4e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h5>De esta manera, invocamos a trav\u00e9s del evento en modo debug:<\/h5>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ee011b5 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"ee011b5\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>sam local invoke HelloWorldFunction -d 5890 -e events\/event.json <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.com\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e5abf05 elementor-widget elementor-widget-text-editor\" data-id=\"e5abf05\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h5>Podemos ir depurando paso a paso, viendo como en este caso se hace uso del evento creado:<\/h5>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a8a09d6 elementor-widget elementor-widget-image\" data-id=\"a8a09d6\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"796\" height=\"159\" data-src=\"https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/api-get.png\" class=\"attachment-large size-large wp-image-5979 lazyload\" alt=\"\" data-srcset=\"https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/api-get.png 796w, https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/api-get-300x60.png 300w, https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/api-get-768x153.png 768w\" data-sizes=\"(max-width: 796px) 100vw, 796px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 796px; --smush-placeholder-aspect-ratio: 796\/159;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eb82963 elementor-widget elementor-widget-spacer\" data-id=\"eb82963\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-5c9e2bc9 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5c9e2bc9\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-60236203\" data-id=\"60236203\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3d74443d elementor-widget elementor-widget-heading\" data-id=\"3d74443d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">\u00bfQuieres saber m\u00e1s de lo que ofrecemos y ver otros casos de \u00e9xito?<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-32ac03c elementor-align-center elementor-widget elementor-widget-button\" data-id=\"32ac03c\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"\/es\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">DESCUBRE BLUETAB<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-300283fe elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"300283fe\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-47739e69\" data-id=\"47739e69\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-f0cd958\" data-id=\"f0cd958\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-12b025c5 elementor-share-buttons--view-icon elementor-share-buttons--skin-minimal elementor-share-buttons--shape-circle elementor-grid-0 elementor-share-buttons--color-official elementor-widget elementor-widget-share-buttons\" data-id=\"12b025c5\" data-element_type=\"widget\" data-widget_type=\"share-buttons.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-grid\" role=\"list\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_twitter\" role=\"button\" tabindex=\"0\" aria-label=\"Share on twitter\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-twitter\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_linkedin\" role=\"button\" tabindex=\"0\" aria-label=\"Share on linkedin\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-linkedin\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3617922d elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"3617922d\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-10e36f64\" data-id=\"10e36f64\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-15081a1a elementor-widget elementor-widget-text-editor\" data-id=\"15081a1a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><b>SOLUCIONES, <\/b>SOMOS EXPERTOS<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-6b2dfe36 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6b2dfe36\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-4786d939\" data-id=\"4786d939\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5b06fcc4 elementor-cta--skin-cover elementor-cta--valign-middle elementor-animated-content elementor-bg-transform elementor-bg-transform-zoom-in elementor-widget elementor-widget-call-to-action\" data-id=\"5b06fcc4\" data-element_type=\"widget\" data-widget_type=\"call-to-action.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<a class=\"elementor-cta\" href=\"\/es\/soluciones\/data-strategy\/\">\n\t\t\t\t\t<div class=\"elementor-cta__bg-wrapper\">\n\t\t\t\t<div class=\"elementor-cta__bg elementor-bg lazyload\" style=\"background-image:inherit;\" role=\"img\" aria-label=\"strategy-opt\" data-bg-image=\"url(https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/strategy-opt.jpg)\"><\/div>\n\t\t\t\t<div class=\"elementor-cta__bg-overlay\"><\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-cta__content\">\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<h5 class=\"elementor-cta__title elementor-cta__content-item elementor-content-item elementor-animated-item--grow\">\n\t\t\t\t\t\tDATA STRATEGY\t\t\t\t\t<\/h5>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-2bbe5b9d\" data-id=\"2bbe5b9d\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-70b70134 elementor-cta--skin-cover elementor-cta--valign-middle elementor-animated-content elementor-bg-transform elementor-bg-transform-zoom-in elementor-widget elementor-widget-call-to-action\" data-id=\"70b70134\" data-element_type=\"widget\" data-widget_type=\"call-to-action.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<a class=\"elementor-cta\" href=\"\/es\/soluciones\/data-fabric\/\">\n\t\t\t\t\t<div class=\"elementor-cta__bg-wrapper\">\n\t\t\t\t<div class=\"elementor-cta__bg elementor-bg lazyload\" style=\"background-image:inherit;\" role=\"img\" aria-label=\"fabric-opt\" data-bg-image=\"url(https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/fabric-opt.jpg)\"><\/div>\n\t\t\t\t<div class=\"elementor-cta__bg-overlay\"><\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-cta__content\">\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<h5 class=\"elementor-cta__title elementor-cta__content-item elementor-content-item elementor-animated-item--grow\">\n\t\t\t\t\t\tDATA FABRIC\t\t\t\t\t<\/h5>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-7538280\" data-id=\"7538280\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-32e32273 elementor-cta--skin-cover elementor-cta--valign-middle elementor-animated-content elementor-bg-transform elementor-bg-transform-zoom-in elementor-widget elementor-widget-call-to-action\" data-id=\"32e32273\" data-element_type=\"widget\" data-widget_type=\"call-to-action.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<a class=\"elementor-cta\" href=\"\/es\/soluciones\/augmented-analytics\/\">\n\t\t\t\t\t<div class=\"elementor-cta__bg-wrapper\">\n\t\t\t\t<div class=\"elementor-cta__bg elementor-bg lazyload\" style=\"background-image:inherit;\" role=\"img\" aria-label=\"AUGMENTED-ANALYTICS-opt\" data-bg-image=\"url(https:\/\/www.bluetab.com\/wp-content\/uploads\/2020\/10\/AUGMENTED-ANALYTICS-opt.jpg)\"><\/div>\n\t\t\t\t<div class=\"elementor-cta__bg-overlay\"><\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-cta__content\">\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<h5 class=\"elementor-cta__title elementor-cta__content-item elementor-content-item elementor-animated-item--grow\">\n\t\t\t\t\t\tAUGMENTED ANALYTICS\t\t\t\t\t<\/h5>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-789b2e94\" data-id=\"789b2e94\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3ea2fce5 elementor-widget elementor-widget-text-editor\" data-id=\"3ea2fce5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Te puede interesar<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3c730501 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3c730501\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1e71396a\" data-id=\"1e71396a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5ef76c8c elementor-widget elementor-widget-spacer\" data-id=\"5ef76c8c\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>C\u00f3mo depurar una Lambda de AWS en local Bluetab Share on twitter Share on linkedin AWS Lambda es un servicio serverless mediante el que se puede ejecutar c\u00f3digo sin necesidad de levantar ni administrar m\u00e1quinas. Se paga solamente por el tiempo consumido en la ejecuci\u00f3n (15 minutos como m\u00e1ximo). El servicio dispone de un IDE [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5996,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_header_footer","format":"standard","meta":{"inline_featured_image":false,"_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"content-sidebar","footnotes":""},"categories":[19,633],"tags":[],"class_list":{"0":"post-10988","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-blog","8":"category-tech-en","9":"entry"},"uagb_featured_image_src":{"full":["https:\/\/bluetab.com\/wp-content\/uploads\/2020\/10\/blog-jose-ramon-monteverde.png",800,533,false],"thumbnail":["https:\/\/bluetab.com\/wp-content\/uploads\/2020\/10\/blog-jose-ramon-monteverde-150x150.png",150,150,true],"medium":["https:\/\/bluetab.com\/wp-content\/uploads\/2020\/10\/blog-jose-ramon-monteverde-300x200.png",300,200,true],"medium_large":["https:\/\/bluetab.com\/wp-content\/uploads\/2020\/10\/blog-jose-ramon-monteverde-768x512.png",768,512,true],"large":["https:\/\/bluetab.com\/wp-content\/uploads\/2020\/10\/blog-jose-ramon-monteverde.png",800,533,false],"1536x1536":["https:\/\/bluetab.com\/wp-content\/uploads\/2020\/10\/blog-jose-ramon-monteverde.png",800,533,false],"2048x2048":["https:\/\/bluetab.com\/wp-content\/uploads\/2020\/10\/blog-jose-ramon-monteverde.png",800,533,false],"sidebar-featured":["https:\/\/bluetab.com\/wp-content\/uploads\/2020\/10\/blog-jose-ramon-monteverde-75x75.png",75,75,true],"genesis-singular-images":["https:\/\/bluetab.com\/wp-content\/uploads\/2020\/10\/blog-jose-ramon-monteverde-702x526.png",702,526,true]},"uagb_author_info":{"display_name":"Bluetab","author_link":"https:\/\/bluetab.com\/en\/author\/user\/"},"uagb_comment_info":0,"uagb_excerpt":"C\u00f3mo depurar una Lambda de AWS en local Bluetab Share on twitter Share on linkedin AWS Lambda es un servicio serverless mediante el que se puede ejecutar c\u00f3digo sin necesidad de levantar ni administrar m\u00e1quinas. Se paga solamente por el tiempo consumido en la ejecuci\u00f3n (15 minutos como m\u00e1ximo). El servicio dispone de un IDE&hellip;","_links":{"self":[{"href":"https:\/\/bluetab.com\/en\/wp-json\/wp\/v2\/posts\/10988","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bluetab.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bluetab.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bluetab.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bluetab.com\/en\/wp-json\/wp\/v2\/comments?post=10988"}],"version-history":[{"count":1,"href":"https:\/\/bluetab.com\/en\/wp-json\/wp\/v2\/posts\/10988\/revisions"}],"predecessor-version":[{"id":10989,"href":"https:\/\/bluetab.com\/en\/wp-json\/wp\/v2\/posts\/10988\/revisions\/10989"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bluetab.com\/en\/wp-json\/wp\/v2\/media\/5996"}],"wp:attachment":[{"href":"https:\/\/bluetab.com\/en\/wp-json\/wp\/v2\/media?parent=10988"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bluetab.com\/en\/wp-json\/wp\/v2\/categories?post=10988"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bluetab.com\/en\/wp-json\/wp\/v2\/tags?post=10988"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}