{"id":4020,"date":"2017-09-15T11:54:46","date_gmt":"2017-09-15T18:54:46","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=4020"},"modified":"2025-06-13T20:57:01","modified_gmt":"2025-06-14T03:57:01","slug":"azure-functions-lazy-initialization-couchbase-server","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/azure-functions-lazy-initialization-couchbase-server\/","title":{"rendered":"Funciones Azure e inicializaci\u00f3n perezosa con Couchbase Server"},"content":{"rendered":"<div class=\"paragraph\">\n<p>Azure Functions es todav\u00eda nuevo para m\u00ed, y estoy aprendiendo sobre la marcha. Ya escrib\u00ed en el blog sobre mi incursi\u00f3n en Azure Functions con Couchbase <a href=\"https:\/\/www.couchbase.com\/blog\/es\/azure-functions-couchbase-server\/\">hace m\u00e1s de un mes<\/a>. Justo despu\u00e9s de publicar eso, recib\u00ed algunos comentarios \u00fatiles sobre la forma en que estaba instanciando un cl\u00faster Couchbase (y cubo).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Hab\u00eda asumido (err\u00f3neamente) que no hab\u00eda forma de guardar el estado entre llamadas a Azure Function. Esta es la raz\u00f3n por la que he creado un <code>GetCluster()<\/code> que se llamaba cada vez que se ejecutaba la funci\u00f3n. Pero, inicializar un Couchbase <code>Grupo<\/code> es una operaci\u00f3n cara. Cuanto menos a menudo se instancie, mejor.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><em>Puede seguir la actualizaci\u00f3n <a href=\"https:\/\/github.com\/couchbaselabs\/blog-source-code\/tree\/master\/Groves\/080AzureFunctionsFollowUp\/src\/CouchbaseWithAzureFunctions\">c\u00f3digo fuente de esta entrada de blog en Github<\/a>.<\/em><\/p>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_static_state\">Estado est\u00e1tico<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Me cost\u00f3 encontrar documentaci\u00f3n sobre si pod\u00eda utilizar un <code>est\u00e1tico<\/code> para reutilizarlo entre llamadas a funciones. Supongo que deber\u00eda haber experimentado, como <a href=\"https:\/\/markheath.net\/post\/sharing-state-between-azure-functions\">compa\u00f1ero MVP de Microsoft Mark Heath<\/a> lo hizo. En cambio, yo <a href=\"https:\/\/stackoverflow.com\/questions\/46162151\/azure-functions-singleton-for-expensive-object\">plante\u00f3 la pregunta a StackOverflow<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>En resumen: s\u00ed. A <code>Grupo<\/code>El valor de la funci\u00f3n, instanciado y guardado en un miembro est\u00e1tico, puede reutilizarse entre llamadas a funciones. De acuerdo con el post de Mark m\u00e1s arriba, no hay garant\u00eda de cu\u00e1nto tiempo este valor va a sobrevivir. Pero eso es una compensaci\u00f3n esperada que haces cuando vas \"sin servidor\".<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_lazy_initializing_within_azure_functions\">Inicializaci\u00f3n perezosa en Azure Functions<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Utilizar simplemente un miembro est\u00e1tico funcionar\u00eda, pero no es seguro para los hilos. Hay varias formas de solucionar este problema, pero una de las m\u00e1s sencillas y que est\u00e1 integrada en el framework .NET es utilizar <a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/framework\/performance\/lazy-initialization\">Inicializaci\u00f3n perezosa<\/a> con <code>Lazy<\/code>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/09\/08001-lazy-initialization-in-azure-functions.png\" alt=\"Lazy Initialization in Azure Functions\" \/><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>En primer lugar, quit\u00e9 el <code>GetBucket<\/code> y <code>GetCluster<\/code> m\u00e9todos. A continuaci\u00f3n, he creado un <code>Perezoso<\/code> propiedad para sustituirlos.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-C#\">private static readonly Lazy Bucket = new Lazy(() =&gt;\r\n{\r\n    var uri = ConfigurationManager.AppSettings[\"couchbaseUri\"];\r\n    var bucketName = ConfigurationManager.AppSettings[\"couchbaseBucketName\"];\r\n    var bucketPassword = ConfigurationManager.AppSettings[\"couchbaseBucketPassword\"];\r\n    var cluster = new Cluster(new ClientConfiguration\r\n    {\r\n        Servidores = new List { new Uri(uri) }\r\n    });\r\n    return cluster.OpenBucket(bucketName, bucketPassword);\r\n});<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Acabo de hacer una sola propiedad para un cubo, ya que es todo lo que necesito para este ejemplo. Pero si usted necesita utilizar el cl\u00faster, usted puede hacer f\u00e1cilmente que su propio <code>Perezoso<\/code> propiedad. (Una vez que se dispone de un cl\u00faster, obtener un cubo es una operaci\u00f3n relativamente barata).<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_using_a_lazy_property\">Utilizar una propiedad Lazy<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Al crear una instancia de <code>Lazy<\/code> se le proporciona una lambda de inicializaci\u00f3n. Esa lambda no se ejecutar\u00e1 hasta que el objeto <code>Valor<\/code> se llama a la propiedad por primera vez.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-C#\">var lazyObject = new Lazy(() =&gt;\r\n{\r\n    \/\/ este c\u00f3digo no ser\u00e1 llamado hasta que 'lazyObject.Value' sea referenciado\r\n    \/\/ por primera vez\r\n    return \"\u00a1Soy perezoso!\";\r\n});<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Por ejemplo, observe el <code>Valor<\/code> entre <code>Cubo<\/code> y <code>GetAsync<\/code> en la versi\u00f3n actualizada de mis Azure Functions:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-C#\">var doc = await Bucket.Value.GetAsync(id);<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Si es la primera vez <code>Valor<\/code> el cluster ser\u00e1 inicializado. En caso contrario, se utilizar\u00e1 el cluster ya inicializado (pruebe a experimentar con un <code>Gu\u00eda<\/code> en lugar de <code>Cubo<\/code>).<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_summary\">Resumen<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>El estado puede guardarse entre llamadas a Azure Function utilizando un miembro est\u00e1tico. Aseg\u00farate de que es seguro para hilos (usando <code>Lazy<\/code> o algo parecido). No hagas suposiciones sobre cu\u00e1nto tiempo durar\u00e1 ese objeto.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u00bfAlgo m\u00e1s que me haya perdido? \u00bfEst\u00e1s usando Azure Functions con Couchbase? Me encantar\u00eda saber de ti. Por favor, deja un comentario abajo o env\u00edame un ping a <a href=\"https:\/\/twitter.com\/mgroves\">Twitter @mgroves<\/a>.<\/p>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Azure Functions are still new to me, and I\u2019m learning as I\u2019m going. I blogged about my foray into Azure Functions with Couchbase over a month ago. Right after I posted that, I got some helpful feedback about the way [&hellip;]<\/p>","protected":false},"author":71,"featured_media":3934,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1811,10127,1816],"tags":[1245,1673,1772],"ppma_author":[8937],"class_list":["post-4020","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-c-sharp","category-couchbase-server","tag-cloud","tag-microsoft-azure","tag-visual-studio"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.7.1 (Yoast SEO v25.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Lazy initializing within Azure Functions - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"A Couchbase cluster is an expensive object to create. You can lazily instantiate and share between Azure Functions calls.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/es\/azure-functions-lazy-initialization-couchbase-server\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Azure Functions and Lazy Initialization with Couchbase Server\" \/>\n<meta property=\"og:description\" content=\"A Couchbase cluster is an expensive object to create. You can lazily instantiate and share between Azure Functions calls.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/azure-functions-lazy-initialization-couchbase-server\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-09-15T18:54:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T03:57:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/08\/074-hero-Azure-Clouds.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"922\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Matthew Groves\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mgroves\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Groves\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/\"},\"author\":{\"name\":\"Matthew Groves\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\"},\"headline\":\"Azure Functions and Lazy Initialization with Couchbase Server\",\"datePublished\":\"2017-09-15T18:54:46+00:00\",\"dateModified\":\"2025-06-14T03:57:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/\"},\"wordCount\":453,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/08\/074-hero-Azure-Clouds.jpg\",\"keywords\":[\"cloud\",\"Microsoft Azure\",\"Visual Studio\"],\"articleSection\":[\".NET\",\"C#\",\"Couchbase Server\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/\",\"name\":\"Lazy initializing within Azure Functions - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/08\/074-hero-Azure-Clouds.jpg\",\"datePublished\":\"2017-09-15T18:54:46+00:00\",\"dateModified\":\"2025-06-14T03:57:01+00:00\",\"description\":\"A Couchbase cluster is an expensive object to create. You can lazily instantiate and share between Azure Functions calls.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/08\/074-hero-Azure-Clouds.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/08\/074-hero-Azure-Clouds.jpg\",\"width\":1920,\"height\":922,\"caption\":\"National Cloud Database Day\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Azure Functions and Lazy Initialization with Couchbase Server\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\",\"name\":\"Matthew Groves\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"caption\":\"Matthew Groves\"},\"description\":\"Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP.\",\"sameAs\":[\"https:\/\/crosscuttingconcerns.com\",\"https:\/\/x.com\/mgroves\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/matthew-groves\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Lazy initializing within Azure Functions - The Couchbase Blog","description":"A Couchbase cluster is an expensive object to create. You can lazily instantiate and share between Azure Functions calls.","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:\/\/www.couchbase.com\/blog\/es\/azure-functions-lazy-initialization-couchbase-server\/","og_locale":"es_MX","og_type":"article","og_title":"Azure Functions and Lazy Initialization with Couchbase Server","og_description":"A Couchbase cluster is an expensive object to create. You can lazily instantiate and share between Azure Functions calls.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/azure-functions-lazy-initialization-couchbase-server\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-09-15T18:54:46+00:00","article_modified_time":"2025-06-14T03:57:01+00:00","og_image":[{"width":1920,"height":922,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/08\/074-hero-Azure-Clouds.jpg","type":"image\/jpeg"}],"author":"Matthew Groves","twitter_card":"summary_large_image","twitter_creator":"@mgroves","twitter_misc":{"Written by":"Matthew Groves","Est. reading time":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/"},"author":{"name":"Matthew Groves","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58"},"headline":"Azure Functions and Lazy Initialization with Couchbase Server","datePublished":"2017-09-15T18:54:46+00:00","dateModified":"2025-06-14T03:57:01+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/"},"wordCount":453,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/08\/074-hero-Azure-Clouds.jpg","keywords":["cloud","Microsoft Azure","Visual Studio"],"articleSection":[".NET","C#","Couchbase Server"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/","url":"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/","name":"Lazy initializing within Azure Functions - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/08\/074-hero-Azure-Clouds.jpg","datePublished":"2017-09-15T18:54:46+00:00","dateModified":"2025-06-14T03:57:01+00:00","description":"A Couchbase cluster is an expensive object to create. You can lazily instantiate and share between Azure Functions calls.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/08\/074-hero-Azure-Clouds.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/08\/074-hero-Azure-Clouds.jpg","width":1920,"height":922,"caption":"National Cloud Database Day"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/azure-functions-lazy-initialization-couchbase-server\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Azure Functions and Lazy Initialization with Couchbase Server"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58","name":"Matthew Groves","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54","url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","caption":"Matthew Groves"},"description":"A Matthew D. Groves le encanta programar. No importa si se trata de C#, jQuery o PHP: enviar\u00e1 pull requests para cualquier cosa. Lleva codificando profesionalmente desde que escribi\u00f3 una aplicaci\u00f3n de punto de venta en QuickBASIC para la pizzer\u00eda de sus padres, all\u00e1 por los a\u00f1os noventa. Actualmente trabaja como Director de Marketing de Producto para Couchbase. Su tiempo libre lo pasa con su familia, viendo a los Reds y participando en la comunidad de desarrolladores. Es autor de AOP in .NET, Pro Microservices in .NET, autor de Pluralsight y MVP de Microsoft.","sameAs":["https:\/\/crosscuttingconcerns.com","https:\/\/x.com\/mgroves"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/matthew-groves\/"}]}},"authors":[{"term_id":8937,"user_id":71,"is_guest":0,"slug":"matthew-groves","display_name":"Matthew Groves","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","first_name":"Matthew","last_name":"Groves","user_url":"https:\/\/crosscuttingconcerns.com","author_category":"","description":"A Matthew D. Groves le encanta programar.  No importa si se trata de C#, jQuery o PHP: enviar\u00e1 pull requests para cualquier cosa.  Lleva codificando profesionalmente desde que escribi\u00f3 una aplicaci\u00f3n de punto de venta en QuickBASIC para la pizzer\u00eda de sus padres, all\u00e1 por los a\u00f1os noventa.  Actualmente trabaja como Director de Marketing de Producto para Couchbase. Su tiempo libre lo pasa con su familia, viendo a los Reds y participando en la comunidad de desarrolladores.  Es autor de AOP in .NET, Pro Microservices in .NET, autor de Pluralsight y MVP de Microsoft."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/4020","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=4020"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/4020\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/3934"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=4020"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=4020"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=4020"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=4020"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}