{"id":490,"date":"2016-05-25T11:00:20","date_gmt":"2016-05-25T09:00:20","guid":{"rendered":"http:\/\/blogs.encamina.com\/por-una-nube-sostenible\/?p=490"},"modified":"2016-05-25T10:02:36","modified_gmt":"2016-05-25T08:02:36","slug":"azure-functions","status":"publish","type":"post","link":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/","title":{"rendered":"Azure Functions"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-515 aligncenter\" src=\"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/wp-content\/uploads\/sites\/19\/2016\/05\/AzureFunctions.jpg\" alt=\"AzureFunctions\" width=\"431\" height=\"280\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/por-una-nube-sostenible\/wp-content\/uploads\/sites\/19\/2016\/05\/AzureFunctions.jpg 431w, https:\/\/encaminablogs.wpenginepowered.com\/por-una-nube-sostenible\/wp-content\/uploads\/sites\/19\/2016\/05\/AzureFunctions-300x195.jpg 300w\" sizes=\"auto, (max-width: 431px) 100vw, 431px\" \/>Dentro del trepidante mundo del desarrollo en Azure, continuamente se est\u00e1n sacando nuevas utilidades que las podemos incluir en nuestros desarrollos. En este art\u00edculo, te quiero hablar de Azure Functions: qu\u00e9 son, en qu\u00e9 escenarios las podemos utilizar y su comparaci\u00f3n con los WebJobs.<\/p>\n<p><!--more--><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%C2%BFQue_son_las_Azure_Functions\"><\/span>\u00bfQu\u00e9 son las Azure Functions?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Las podemos definir como un <strong>\u00abpeque\u00f1o trozo de c\u00f3digo\u00bb o \u00abfunciones\u00bb en la nube<\/strong>. Esto hace que solamente nos tengamos que preocupar por desarrollar la funcionalidad que necesitamos, sin importarnos de toda una aplicaci\u00f3n o la infraestructura para ejecutarlo. Por ejemplo, queremos enviar una notificaci\u00f3n una vez se haya insertado un elemento en una base de datos.<\/p>\n<p>Para que los desarrolladores tengan\u00a0una adopci\u00f3n mucho m\u00e1s sencilla, <strong>es posible utilizar \u00a0casi cualquier lenguaje de desarrollo<\/strong> como: C #, Node.js, Python o PHP.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Otras_Caracteristicas\"><\/span>Otras Caracter\u00edsticas<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>Modelo de pago por uso. Solamente se factura el tiempo que el c\u00f3digo esta en ejecuci\u00f3n<\/li>\n<li>Seguridad integrada. Con otros OAuth como los AAD, Facebook, Google, Twitter o Microsoft Account<\/li>\n<li>F\u00e1cil de integrar con otros servicios<\/li>\n<li>Desarrollo flexible e integrado con herramientas como Visual Studio Team Services, Jenkins o GitHub<\/li>\n<li>Open Source. Hay muchas funciones disponibles en GitHub<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"%C2%BFCuando_utilizarlo\"><\/span>\u00bfCu\u00e1ndo utilizarlo?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Azure Functions es una <strong>gran soluci\u00f3n<\/strong> para el <strong>procesamiento de datos, sistemas de integraci\u00f3n, el trabajo con IOT, y la construcci\u00f3n de APIs<\/strong> y microservicios simples.<\/p>\n<p>Por ejemplo, tenemos tareas como procesamiento de pedidos, mantenimiento de archivos o tareas de larga duraci\u00f3n que se tienen que ejecutar en background sin necesidad de tener una planificaci\u00f3n previa. Por defecto, ya tenemos Azure Functions integradas con los siguientes escenarios:<\/p>\n<ul>\n<li><strong>BlobTrigger.<\/strong>\u00a0Procesa blobs en Azure Storage cuando se a\u00f1aden en contenedores.<\/li>\n<li><strong>EventHubTrigger.<\/strong>\u00a0Responde eventos que ocurren en los dispositivos IoT.<\/li>\n<li><strong>Generic webhook.<\/strong>\u00a0Procesa peticiones de respuesta webhook HTTP a cualquier dispositivo que soporta webhooks.<\/li>\n<li><strong>GitHub webhook.<\/strong>\u00a0Responde a eventos que ocurren en nuestros repositorios GitHub.<\/li>\n<li><strong>HTTPTrigger.<\/strong>\u00a0Desencadena la ejecuci\u00f3n del c\u00f3digo usando una petici\u00f3n HTTP.<\/li>\n<li><strong>QueueTrigger.\u00a0<\/strong>Responder a mensajes que llevan a la cola de un Azure Storage.<\/li>\n<li><strong>ServiceBusQueueTrigger.<\/strong>\u00a0Conecta la funci\u00f3n con otros servicios de Azure o servicios on-premise que se quedan escuchando la cola de mensajes.<\/li>\n<li><strong>ServiceBusTopicTrigger.<\/strong>\u00a0Conecta la funci\u00f3n con otros servicios de Azure o servicios on-premise mediante la subscripci\u00f3n.<\/li>\n<li><strong>TimerTrigger.<\/strong>\u00a0Ejecuta una serie de funciones o tareas en una hora predefinida.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Comparacion_con_WebJobs\"><\/span>Comparaci\u00f3n con WebJobs<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>En principio puede parecer que las Azure Functions solapan la funcionalidad que podemos utilizar con los WebJobs, pero solamente en parte.<\/p>\n<p>Los <strong>WebJobs<\/strong> est\u00e1n<strong> enfocados para realizar tareas en Background de nuestra Web App,\u00a0<\/strong>por ejemplo enviar un email a un determinado usuario,etc. Mientras que las <strong>Azure Functions<\/strong> pueden <strong>ejecutarse en modo Job<\/strong>, pero tambi\u00e9n pueden responder a eventos del entorno (v\u00eda WebHook). Adem\u00e1s, no tienen porqu\u00e9 estar vinculadas con una Web App.<\/p>\n<p>Azure Functions es una soluci\u00f3n para poder <strong>integrar un peque\u00f1o desarrollo con eventos\/sucesos de otros sistemas<\/strong> y que respondan a ellos de una forma muy simple. Tiene una f\u00e1cil integraci\u00f3n con Logic App o con otros productos disponibles en Azure.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Creando_nuestra_primera_Azure_Function\"><\/span>Creando nuestra primera Azure Function<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Vamos a implementar un WebHook que su funcionalidad ser\u00e1 un simple \u00abHello World\u00bb. Para ello, tenemos que seguir los siguientes pasos:<\/p>\n<ol>\n<li>Ir al Portal de Azure Functions y logarse con nuestras credenciales<\/li>\n<li>Escribir el nombre de la funci\u00f3n, seleccionar la regi\u00f3n donde va a estar desplegada el c\u00f3digo y pulsar sobre el bot\u00f3n Crear.<\/li>\n<li>Una vez este aprovisionada la infraestructura, seleccionar el template de WebHook en C#<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-509\" src=\"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/wp-content\/uploads\/sites\/19\/2016\/05\/Blog-1.jpg\" alt=\"Blog\" width=\"578\" height=\"701\" \/><\/li>\n<li>A continuaci\u00f3n, se mostrar\u00e1 en la pantalla la url del WebHook, as\u00ed c\u00f3mo el c\u00f3digo de la misma.<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-510\" src=\"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/wp-content\/uploads\/sites\/19\/2016\/05\/blog2-1024x516.jpg\" alt=\"blog2\" width=\"1024\" height=\"516\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/por-una-nube-sostenible\/wp-content\/uploads\/sites\/19\/2016\/05\/blog2-1024x516.jpg 1024w, https:\/\/encaminablogs.wpenginepowered.com\/por-una-nube-sostenible\/wp-content\/uploads\/sites\/19\/2016\/05\/blog2-300x151.jpg 300w, https:\/\/encaminablogs.wpenginepowered.com\/por-una-nube-sostenible\/wp-content\/uploads\/sites\/19\/2016\/05\/blog2-768x387.jpg 768w, https:\/\/encaminablogs.wpenginepowered.com\/por-una-nube-sostenible\/wp-content\/uploads\/sites\/19\/2016\/05\/blog2.jpg 1345w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"Test_de_la_Funcion\"><\/span>Test de la Funci\u00f3n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Para ver el correcto funcionamiento de nuestra Funci\u00f3n, vamos a realizar una petici\u00f3n Http mediante un Post a la url del WebHook (lo podemos hacer haciendo uso bien de Fiddler o PostMan) y en el cuerpo de dicha petici\u00f3n tenemos que a\u00f1adirle un Json con la siguiente estructura:<\/p>\n<p>{<br \/>\n    &quot;first&quot;: &quot;Encamina&quot;,<br \/>\n    &quot;last&quot;: &quot;Bloggers&quot;<br \/>\n}<\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Resumen\"><\/span>Resumen<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Azure nos ofrece cada vez m\u00e1s\u00a0<strong>soluciones \u00fatiles<\/strong> en nuestro d\u00eda a d\u00eda. Un amplio conocimiento sobre las novedades que salen, hace posible que podamos ofrecer soluciones t\u00e9cnicas muy potentes, simples de utilizar y no tener que estar construyendo soluciones pr\u00e1cticamente desde cero. Genial, \u00bfverdad?<\/p>\n<p>Azure Functions es una soluci\u00f3n que ofrece una<strong> gran variedad de posibilidades<\/strong> al developer independientemente de su tecnolog\u00eda preferida. La principal caracter\u00edstica es que nos permite <strong>integrar aplicaciones\/servicios con nuestros desarrollos<\/strong> aprovechando todos los beneficios del Cloud (pago por uso, escalabilidad, etc.) \ud83d\ude09<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content --><div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Tabla de contenidos<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/#%C2%BFQue_son_las_Azure_Functions\" >\u00bfQu\u00e9 son las Azure Functions?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/#Otras_Caracteristicas\" >Otras Caracter\u00edsticas<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/#%C2%BFCuando_utilizarlo\" >\u00bfCu\u00e1ndo utilizarlo?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/#Comparacion_con_WebJobs\" >Comparaci\u00f3n con WebJobs<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/#Creando_nuestra_primera_Azure_Function\" >Creando nuestra primera Azure Function<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/#Test_de_la_Funcion\" >Test de la Funci\u00f3n<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/#Resumen\" >Resumen<\/a><\/li><\/ul><\/nav><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Dentro del trepidante mundo del desarrollo en Azure, continuamente se est\u00e1n sacando nuevas utilidades que las podemos incluir en nuestros desarrollos. En este art\u00edculo, te quiero hablar de Azure Functions: qu\u00e9 son, en qu\u00e9 escenarios las podemos utilizar y su &hellip; <a href=\"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[4,8],"class_list":["post-490","post","type-post","status-publish","format-standard","hentry","category-azure","tag-azure","tag-desarrollo"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v18.2.1 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Azure Functions - Por una nube sostenible<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Azure Functions\" \/>\n<meta property=\"og:description\" content=\"Dentro del trepidante mundo del desarrollo en Azure, continuamente se est\u00e1n sacando nuevas utilidades que las podemos incluir en nuestros desarrollos. En este art\u00edculo, te quiero hablar de Azure Functions: qu\u00e9 son, en qu\u00e9 escenarios las podemos utilizar y su &hellip; Continue reading &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/\" \/>\n<meta property=\"og:site_name\" content=\"Por una nube sostenible\" \/>\n<meta property=\"article:published_time\" content=\"2016-05-25T09:00:20+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/blogs.encamina.com\/por-una-nube-sostenible\/wp-content\/uploads\/sites\/19\/2016\/05\/AzureFunctions.jpg\" \/>\n<meta name=\"author\" content=\"Adri\u00e1n D\u00edaz\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Adri\u00e1n D\u00edaz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/azure-functions\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/azure-functions\\\/\"},\"author\":{\"name\":\"Adri\u00e1n D\u00edaz\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"headline\":\"Azure Functions\",\"datePublished\":\"2016-05-25T09:00:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/azure-functions\\\/\"},\"wordCount\":798,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/azure-functions\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/wp-content\\\/uploads\\\/sites\\\/19\\\/2016\\\/05\\\/AzureFunctions.jpg\",\"keywords\":[\"Azure\",\"desarrollo\"],\"articleSection\":[\"Azure\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/azure-functions\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/azure-functions\\\/\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/azure-functions\\\/\",\"name\":\"Azure Functions - Por una nube sostenible\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/azure-functions\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/azure-functions\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/wp-content\\\/uploads\\\/sites\\\/19\\\/2016\\\/05\\\/AzureFunctions.jpg\",\"datePublished\":\"2016-05-25T09:00:20+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/azure-functions\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/azure-functions\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/azure-functions\\\/#primaryimage\",\"url\":\"http:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/wp-content\\\/uploads\\\/sites\\\/19\\\/2016\\\/05\\\/AzureFunctions.jpg\",\"contentUrl\":\"http:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/wp-content\\\/uploads\\\/sites\\\/19\\\/2016\\\/05\\\/AzureFunctions.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/azure-functions\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Azure Functions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/#website\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/\",\"name\":\"Por una nube sostenible\",\"description\":\"C\u00f3mo no romper los l\u00edmites, c\u00f3mo crear una buena arquitectura y c\u00f3mo hacer un buen mantenimiento\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\",\"name\":\"Adri\u00e1n D\u00edaz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g\",\"caption\":\"Adri\u00e1n D\u00edaz\"},\"description\":\"Adri\u00e1n D\u00edaz es Ingeniero Inform\u00e1tico por la Universidad Polit\u00e9cnica de Valencia. Es MVP de Microsoft en la categor\u00eda Office Development desde 2014, MCPD de SharePoint 2010, Microsoft Active Profesional y Microsoft Comunity Contribuitor 2012. Cofundador del grupo de usuarios de SharePoint de Levante LevaPoint. Lleva desarrollando con tecnolog\u00edas Microsoft m\u00e1s de 10 a\u00f1os y desde hace 3 a\u00f1os est\u00e1 centrado en el desarrollo sobre SharePoint. Actualmente es Software &amp; Cloud Architect Lead en ENCAMINA.\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/por-una-nube-sostenible\\\/author\\\/desarrollandosobresharepoint\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Azure Functions - Por una nube sostenible","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/","og_locale":"es_ES","og_type":"article","og_title":"Azure Functions","og_description":"Dentro del trepidante mundo del desarrollo en Azure, continuamente se est\u00e1n sacando nuevas utilidades que las podemos incluir en nuestros desarrollos. En este art\u00edculo, te quiero hablar de Azure Functions: qu\u00e9 son, en qu\u00e9 escenarios las podemos utilizar y su &hellip; Continue reading &rarr;","og_url":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/","og_site_name":"Por una nube sostenible","article_published_time":"2016-05-25T09:00:20+00:00","og_image":[{"url":"http:\/\/blogs.encamina.com\/por-una-nube-sostenible\/wp-content\/uploads\/sites\/19\/2016\/05\/AzureFunctions.jpg","type":"","width":"","height":""}],"author":"Adri\u00e1n D\u00edaz","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Adri\u00e1n D\u00edaz","Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/#article","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/"},"author":{"name":"Adri\u00e1n D\u00edaz","@id":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"headline":"Azure Functions","datePublished":"2016-05-25T09:00:20+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/"},"wordCount":798,"commentCount":0,"image":{"@id":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/#primaryimage"},"thumbnailUrl":"http:\/\/blogs.encamina.com\/por-una-nube-sostenible\/wp-content\/uploads\/sites\/19\/2016\/05\/AzureFunctions.jpg","keywords":["Azure","desarrollo"],"articleSection":["Azure"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/","url":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/","name":"Azure Functions - Por una nube sostenible","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/#primaryimage"},"image":{"@id":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/#primaryimage"},"thumbnailUrl":"http:\/\/blogs.encamina.com\/por-una-nube-sostenible\/wp-content\/uploads\/sites\/19\/2016\/05\/AzureFunctions.jpg","datePublished":"2016-05-25T09:00:20+00:00","author":{"@id":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"breadcrumb":{"@id":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/#primaryimage","url":"http:\/\/blogs.encamina.com\/por-una-nube-sostenible\/wp-content\/uploads\/sites\/19\/2016\/05\/AzureFunctions.jpg","contentUrl":"http:\/\/blogs.encamina.com\/por-una-nube-sostenible\/wp-content\/uploads\/sites\/19\/2016\/05\/AzureFunctions.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/azure-functions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/"},{"@type":"ListItem","position":2,"name":"Azure Functions"}]},{"@type":"WebSite","@id":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/#website","url":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/","name":"Por una nube sostenible","description":"C\u00f3mo no romper los l\u00edmites, c\u00f3mo crear una buena arquitectura y c\u00f3mo hacer un buen mantenimiento","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb","name":"Adri\u00e1n D\u00edaz","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g","caption":"Adri\u00e1n D\u00edaz"},"description":"Adri\u00e1n D\u00edaz es Ingeniero Inform\u00e1tico por la Universidad Polit\u00e9cnica de Valencia. Es MVP de Microsoft en la categor\u00eda Office Development desde 2014, MCPD de SharePoint 2010, Microsoft Active Profesional y Microsoft Comunity Contribuitor 2012. Cofundador del grupo de usuarios de SharePoint de Levante LevaPoint. Lleva desarrollando con tecnolog\u00edas Microsoft m\u00e1s de 10 a\u00f1os y desde hace 3 a\u00f1os est\u00e1 centrado en el desarrollo sobre SharePoint. Actualmente es Software &amp; Cloud Architect Lead en ENCAMINA.","url":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/author\/desarrollandosobresharepoint\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/wp-json\/wp\/v2\/posts\/490","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/wp-json\/wp\/v2\/comments?post=490"}],"version-history":[{"count":0,"href":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/wp-json\/wp\/v2\/posts\/490\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/wp-json\/wp\/v2\/media?parent=490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/wp-json\/wp\/v2\/categories?post=490"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.encamina.com\/por-una-nube-sostenible\/wp-json\/wp\/v2\/tags?post=490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}