{"id":7045,"date":"2019-08-09T10:00:40","date_gmt":"2019-08-09T17:00:40","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=7045"},"modified":"2025-06-13T22:40:26","modified_gmt":"2025-06-14T05:40:26","slug":"eventing-service-improvements-in-couchbase-server-6-5","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/eventing-service-improvements-in-couchbase-server-6-5\/","title":{"rendered":"Mejoras en el servicio de eventos de Couchbase Server 6.5"},"content":{"rendered":"<p><a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/eventing\/\">Servicio de eventos Couchbase<\/a> proporciona un marco para escribir tus propias funciones para procesar eventos de cambio de datos (creaci\u00f3n, actualizaci\u00f3n, borrado\/expiraci\u00f3n). Couchbase Server 6.5 introduce un conjunto de importantes mejoras en el Servicio de Eventos que permiten un mont\u00f3n de nuevos casos de uso y simplifican el mantenimiento de las Funciones Vespertinas.<\/p>\n<h2>Mutaciones del cubo de origen<\/h2>\n<p>Una funci\u00f3n Eventing est\u00e1 definida para escuchar los cambios de un bucket, conocido como el bucket fuente de la funci\u00f3n. Las versiones anteriores de Couchbase no permit\u00edan a una funci\u00f3n mutar documentos en su bucket fuente, porque si estas mutaciones se retroalimentaban a la funci\u00f3n pod\u00eda potencialmente crear una recursi\u00f3n infinita. Esta limitaci\u00f3n ha sido eliminada en Couchbase 6.5: una funci\u00f3n Eventing puede ahora cambiar los documentos en el bucket fuente, incluso el documento del evento de cambio. Couchbase hace tales cambios seguros suprimiendo su propagaci\u00f3n recursiva a la misma funci\u00f3n Eventing.<\/p>\n<p>La posibilidad de modificar documentos en el bucket de origen abre muchos casos de uso interesantes: enriquecer los documentos modificados con nuevos atributos, realizar actualizaciones o eliminaciones en cascada de documentos dependientes, generar nuevos documentos en el mismo bucket.<\/p>\n<p>El siguiente ejemplo utiliza Eventing para generar autom\u00e1ticamente atributos de documento que contienen la hora de creaci\u00f3n del documento y la hora de su \u00faltima actualizaci\u00f3n. Vamos a escuchar a los cambios en el <strong>viaje-muestra<\/strong> y generan o actualizan los atributos de tiempo cada vez que se modifica un documento. Las funciones de eventos acceden a los buckets a trav\u00e9s de los llamados bucket bindings. Creamos un bucket de lectura-escritura en el archivo <strong>viaje-muestra<\/strong> es decir, el cubo de origen, y asignarle un alias <strong>cubo<\/strong>:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7046 size-medium_large\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/06\/Eventing-UpdateTime-768x756.png\" alt=\"\" width=\"768\" height=\"756\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-UpdateTime-768x756.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-UpdateTime-300x295.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-UpdateTime-1024x1008.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-UpdateTime-65x65.png 65w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-UpdateTime-50x50.png 50w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-UpdateTime-20x20.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-UpdateTime.png 1276w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/p>\n<p>En el siguiente paso proporcione el c\u00f3digo de la funci\u00f3n:<\/p>\n<pre class=\"toolbar-delay:false lang:js decode:true\">function OnUpdate(doc, meta) {\r\n    log('docId', meta.id);\r\n    var time = Date.now();\r\n    doc[\"updated\"] = time;\r\n    if (!(\"created\" in doc)) {\r\n        doc[\"created\"] = time;\r\n    }\r\n    log('newDoc', meta, doc);\r\n    bucket[meta.id] = doc;\r\n}\r\n<\/pre>\n<p>En el <strong>OnUpdate<\/strong> que se llama en cada evento de inserci\u00f3n y actualizaci\u00f3n, escribimos la hora actual en el campo <strong>actualizado<\/strong> (cre\u00e1ndolo o sustituy\u00e9ndolo). Si el documento a\u00fan no contiene <strong>creado<\/strong> asumimos que es el primer cambio en el documento, por lo que a\u00f1adimos <strong>creado<\/strong> que contiene tambi\u00e9n la hora actual. Despu\u00e9s de ampliar el documento con los nuevos atributos, lo escribimos de nuevo en el bucket de origen para el mismo ID de documento.<\/p>\n<p>Cambiando <strong>actualizado<\/strong> y <strong>creado<\/strong> generamos nuevos cambios en el documento. El marco de Eventing suprime la recursi\u00f3n al no propagar estos cambios a nuestra funci\u00f3n. De lo contrario, estos cambios se gestionan de forma normal: se replican, indexan e incluso se propagan a otras funciones de Eventing.<\/p>\n<h2>Invocaci\u00f3n de funciones externas con cURL<\/h2>\n<p>Las funciones de eventos pueden interactuar con sistemas externos utilizando <b>rizo<\/b> para llamar a su API REST. La posibilidad de interactuar con sistemas externos abre un mont\u00f3n de nuevos casos de uso, como la propagaci\u00f3n de cambios de datos a otros sistemas, la notificaci\u00f3n a la aplicaci\u00f3n de eventos interesantes, el enriquecimiento de documentos con datos de sistemas externos, etc. Una vista previa de la funci\u00f3n curl ya estaba disponible en versiones anteriores de Couchbase, pero con 6.5 la funci\u00f3n se ha redise\u00f1ado para hacerla fiable y segura: las llamadas cURL se limitan a un conjunto predefinido de enlaces URL, para cada enlace podemos especificar autenticaci\u00f3n, cifrado y validaci\u00f3n de certificados seg\u00fan sea necesario.<\/p>\n<p>En el siguiente ejemplo definiremos una aplicaci\u00f3n a la escucha de los cambios en el bucket viaje-muestra. Guarde el c\u00f3digo de la aplicaci\u00f3n en el archivo <strong>app.js<\/strong>:<\/p>\n<pre class=\"lang:js decode:true\">const Express = require(\"express\");\r\nconst BasicAuth = require(\"express-basic-auth\");\r\nconst BodyParser = require(\"body-parser\");\r\n \r\nvar app = Express();\r\napp.use(BodyParser.json());\r\napp.use(BodyParser.urlencoded({ extended: true }));\r\napp.use(BasicAuth({ users: { 'couchbase': 'password' } }))\r\n \r\napp.post(\"\/api\/airline\", (request, response) =&gt; {\r\n    var id = request.body.id;\r\n    console.log(\"Airline \" + id + \" changed\");\r\n    response.send(\"OK\");\r\n});\r\n \r\nvar server = app.listen(3000, () =&gt; {\r\n    console.log(\"Listening...\");\r\n});<\/pre>\n<p>La aplicaci\u00f3n define un punto final <strong>\/api\/aerol\u00ednea<\/strong> para recibir notificaciones sobre cambios en los datos de la aerol\u00ednea como peticiones POST con el cuerpo conteniendo el ID de la aerol\u00ednea. La aplicaci\u00f3n est\u00e1 configurada con autenticaci\u00f3n b\u00e1sica esperando que el usuario <strong>couchbase<\/strong> con la contrase\u00f1a <strong>contrase\u00f1a<\/strong>.<\/p>\n<p>Ejecuta los siguientes comandos para instalar los paquetes node.js necesarios y ejecutar la aplicaci\u00f3n:<\/p>\n<pre class=\"striped:false nums:false nums-toggle:false lang:sh decode:true\">npm init -y\r\nnpm install express body-parser express-basic-auth --save\r\nnode app.js\r\n<\/pre>\n<p>Ahora vamos a crear una Funci\u00f3n Eventing que notifique a nuestra aplicaci\u00f3n sobre los cambios de los documentos de las aerol\u00edneas. Todas las APIs externas que pueden ser llamadas por la funci\u00f3n deben ser declaradas como URL bindings. Asumiendo que 192.168.61.1 es la IP de la m\u00e1quina donde iniciamos la aplicaci\u00f3n, declaramos un URL binding para la URL <strong>https:\/\/192.168.61.1:3000\/api<\/strong> y ponerle un nombre <b>notifyApi<\/b>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7047 size-medium_large\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/06\/Eventing-NotifyChanges-768x895.png\" alt=\"\" width=\"768\" height=\"895\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-NotifyChanges-768x895.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-NotifyChanges-257x300.png 257w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-NotifyChanges-879x1024.png 879w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-NotifyChanges-300x350.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-NotifyChanges-17x20.png 17w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-NotifyChanges.png 1272w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/p>\n<p>Un enlace URL puede utilizar el protocolo http o https. Tambi\u00e9n podemos especificar diferentes tipos de autenticaci\u00f3n y habilitar cookies para evitar la autenticaci\u00f3n repetida. En nuestro caso, seleccionamos la autenticaci\u00f3n b\u00e1sica con el usuario <strong>couchbase<\/strong> y contrase\u00f1a <strong>contrase\u00f1a<\/strong>.<\/p>\n<p>En el siguiente paso proporcionar el c\u00f3digo de la funci\u00f3n, que escucha a los cambios de los documentos de tipo <strong>aerol\u00ednea<\/strong> y reenv\u00eda estos cambios a la aplicaci\u00f3n mediante <b>rizo<\/b> llamadas:<\/p>\n<pre class=\"lang:js decode:true\">function OnUpdate(doc, meta) {\r\n    if (doc.type == 'airline') {\r\n        var request = {\r\n            path: '\/airline',\r\n            body: { id : meta.id,\r\n                    value : doc \r\n            }\r\n        };\r\n        log('request', request);\r\n        var response = curl('POST', notifyApi, request);\r\n        if (response.status != 200) {\r\n            log('request failed', response);\r\n        }\r\n    }\r\n}<\/pre>\n<p>En <b>rizo<\/b> toma tres par\u00e1metros: el m\u00e9todo de la petici\u00f3n HTTP, el enlace URL y el objeto de la petici\u00f3n que puede contener los siguientes atributos:<\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li><b>ruta<\/b> especifica la ruta secundaria del enlace URL. En nuestro ejemplo, a\u00f1adimos <strong>\/l\u00ednea a\u00e9rea<\/strong>\u00a0para hacer una llamada a <strong>https:\/\/192.168.61.1:3000\/api\/airline<\/strong><\/li>\n<li>el <b>cuerpo<\/b> de la petici\u00f3n HTTP. El objeto proporcionado se codificar\u00e1 y marshaled como una cadena JSON, a menos que se especifique lo contrario por la directiva <b>codificaci\u00f3n<\/b> atributo<\/li>\n<li><b>par\u00e1metros<\/b> contiene pares clave-valor que se pasar\u00e1n como par\u00e1metros de petici\u00f3n HTTP<\/li>\n<li><b>cabeceras<\/b> contiene pares clave-valor que se pasar\u00e1n como cabeceras HTTP adicionales.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>El objeto de respuesta devuelto por\u00a0<b>rizo<\/b>\u00a0contiene el estado, el cuerpo y las cabeceras de la respuesta HTTP. La funci\u00f3n lanza excepciones en caso de varios errores como URL inalcanzable o par\u00e1metros inv\u00e1lidos. Envuelve la llamada dentro de un bloque try-catch si necesitas registrar esos errores.<\/p>\n<p>Despu\u00e9s de crear la funci\u00f3n, vuelva a la pesta\u00f1a Eventing y despliegue la funci\u00f3n <strong>NotificarCambios<\/strong>. Si opta por alimentar todo el contenido de los cubos, se notificar\u00e1 a la aplicaci\u00f3n acerca de todos los ya existentes <strong>aerol\u00ednea<\/strong> documentos y registrar\u00e1n sus identificaciones.<\/p>\n<h2>Pausar y reanudar una funci\u00f3n<\/h2>\n<p>Una funci\u00f3n Eventing en ejecuci\u00f3n puede detenerse y reanudarse posteriormente. Cuando se reanuda, la funci\u00f3n contin\u00faa procesando los eventos en el punto en el que se detuvo. El c\u00f3digo y la configuraci\u00f3n de una funci\u00f3n en pausa pueden modificarse, de modo que cuando se reanude, los eventos posteriores se procesar\u00e1n con la nueva versi\u00f3n de la funci\u00f3n.<\/p>\n<p>Esta funci\u00f3n es especialmente \u00fatil para mantener funciones de Eventing que ya est\u00e1n en producci\u00f3n. La definici\u00f3n de la funci\u00f3n puede mejorarse con nuevas funcionalidades o ajustarse tras cambiar el modelo de datos. Sin embargo, dichos cambios de c\u00f3digo a mitad de vuelo deben ser compatibles con cualquier devoluci\u00f3n de llamada de temporizador pendiente programada por el manejador<\/p>\n<p>Por ejemplo, si para modificar el c\u00f3digo de nuestro <strong>NotificarCambios<\/strong> busque la funci\u00f3n en la vista de eventos y haga clic en su icono <strong>Pausa<\/strong> bot\u00f3n:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7048 size-large\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/06\/Eventing-Pause-1024x125.png\" alt=\"\" width=\"900\" height=\"110\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Pause-1024x125.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Pause-300x37.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Pause-768x94.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Pause-1536x188.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Pause-20x2.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Pause-1320x162.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Pause.png 1732w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p>Espera hasta que la funci\u00f3n se muestre como pausada, lo que significa que ha dejado de procesar los eventos. En ese estado, podemos modificar su c\u00f3digo y configuraci\u00f3n. Despu\u00e9s de realizar las modificaciones necesarias, podemos reanudar la funci\u00f3n.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7049 size-large\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/06\/Eventing-Resume-1024x127.png\" alt=\"\" width=\"900\" height=\"112\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Resume-1024x127.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Resume-300x37.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Resume-768x95.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Resume-1536x190.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Resume-20x2.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Resume-1320x163.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Resume.png 1714w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p>La funci\u00f3n se volver\u00e1 a desplegar con la nueva implementaci\u00f3n y continuar\u00e1 procesando los eventos en el punto en el que se detuvo.<\/p>\n<h3>Recursos<\/h3>\n<p class=\"p1\"><i>Descargar<\/i><\/p>\n<p class=\"p2\"><span class=\"s1\"><a href=\"https:\/\/www.couchbase.com\/blog\/es\/downloads\/?family=server&amp;product=couchbase-server-developer\">Descargar Couchbase Server 6.5<\/a><\/span><\/p>\n<p class=\"p1\"><i>\u00a0<\/i><i>Documentaci\u00f3n<\/i><\/p>\n<p class=\"p2\"><span class=\"s1\"><a href=\"https:\/\/docs.couchbase.com\/server\/6.5\/release-notes\/relnotes.html\">Notas de la versi\u00f3n de Couchbase Server 6.5<\/a><\/span><\/p>\n<p class=\"p2\"><span class=\"s1\"><a href=\"https:\/\/docs.couchbase.com\/server\/6.5\/introduction\/whats-new.html\">Novedades de Couchbase Server 6.5<\/a><\/span><\/p>\n<p class=\"p1\"><i>Blogs<\/i><\/p>\n<p class=\"p2\"><span class=\"s1\"><a href=\"https:\/\/www.couchbase.com\/blog\/es\/announcing-couchbase-server-6-5-0-beta-whats-new-and-improved\/\">Blog: Anuncio de Couchbase Server 6.5 - Novedades y mejoras<\/a><\/span><\/p>\n<p class=\"p2\"><span class=\"s1\"><a href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-brings-distributed-multi-document-acid-transactions-to-nosql\/\">Blog: Couchbase lleva las transacciones distribuidas multidocumento ACID a NoSQL<\/a><\/span><\/p>\n<p class=\"p2\"><span class=\"s1\"><a href=\"https:\/\/www.couchbase.com\/blog\/es\/tag\/6-5\/\"><b>Todos los blogs de 6.5<\/b><\/a><\/span><\/p>","protected":false},"excerpt":{"rendered":"<p>Couchbase Eventing Service provides a framework for writing your own functions to process data change events (create, update, delete\/expiry). Couchbase Server 6.5 introduces a set of important improvements to the Eventing Service that enable a lot of new use cases [&hellip;]<\/p>","protected":false},"author":39639,"featured_media":7051,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816,2273],"tags":[2378,1771,2133],"ppma_author":[9089],"class_list":["post-7045","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","category-eventing","tag-6-5","tag-curl","tag-functions"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.0 (Yoast SEO v26.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Eventing Service Improvements in Couchbase Server 6.5 - The Couchbase Blog Eventing<\/title>\n<meta name=\"description\" content=\"Couchbase Server 6.5 introduces a set of important improvements to the Eventing Service: full access to the source bucket, curl function, possibility to pause and to resume deployed functions.\" \/>\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\/eventing-service-improvements-in-couchbase-server-6-5\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Eventing Service Improvements in Couchbase Server 6.5\" \/>\n<meta property=\"og:description\" content=\"Couchbase Server 6.5 introduces a set of important improvements to the Eventing Service: full access to the source bucket, curl function, possibility to pause and to resume deployed functions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/eventing-service-improvements-in-couchbase-server-6-5\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-08-09T17:00:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T05:40:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Couchbase65.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2048\" \/>\n\t<meta property=\"og:image:height\" content=\"770\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Vaidas Gasiunas, Solution Architect, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Vaidas Gasiunas, Solution Architect, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/\"},\"author\":{\"name\":\"Vaidas Gasiunas, Solution Architect, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c01f7147993aaff01692dc94d9e339fb\"},\"headline\":\"Eventing Service Improvements in Couchbase Server 6.5\",\"datePublished\":\"2019-08-09T17:00:40+00:00\",\"dateModified\":\"2025-06-14T05:40:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/\"},\"wordCount\":1128,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Couchbase65.png\",\"keywords\":[\"6.5\",\"curl\",\"functions\"],\"articleSection\":[\"Couchbase Server\",\"Eventing\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/\",\"name\":\"Eventing Service Improvements in Couchbase Server 6.5 - The Couchbase Blog Eventing\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Couchbase65.png\",\"datePublished\":\"2019-08-09T17:00:40+00:00\",\"dateModified\":\"2025-06-14T05:40:26+00:00\",\"description\":\"Couchbase Server 6.5 introduces a set of important improvements to the Eventing Service: full access to the source bucket, curl function, possibility to pause and to resume deployed functions.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Couchbase65.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Couchbase65.png\",\"width\":2048,\"height\":770},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Eventing Service Improvements in Couchbase Server 6.5\"}]},{\"@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\/c01f7147993aaff01692dc94d9e339fb\",\"name\":\"Vaidas Gasiunas, Solution Architect, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/d9197990b30dc5da6178ed210c7170c5\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/87e93f8738ca8b966d667b05071f9730245459aa53bdb340d57479a6873942ae?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/87e93f8738ca8b966d667b05071f9730245459aa53bdb340d57479a6873942ae?s=96&d=mm&r=g\",\"caption\":\"Vaidas Gasiunas, Solution Architect, Couchbase\"},\"description\":\"Vaidas Gasiunas is a Solution Architect in Couchbase Germany, helping the customers in the region to adopt Couchbase for their use cases. Vaidas has long year experience in architecting and developing database systems with the focus on scalability an performance optimization.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/vgasiunas\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Eventing Service Improvements in Couchbase Server 6.5 - The Couchbase Blog Eventing","description":"Couchbase Server 6.5 introduce una serie de mejoras importantes en el servicio de eventos: acceso completo al bucket de origen, funci\u00f3n curl, posibilidad de pausar y reanudar las funciones desplegadas.","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\/eventing-service-improvements-in-couchbase-server-6-5\/","og_locale":"es_MX","og_type":"article","og_title":"Eventing Service Improvements in Couchbase Server 6.5","og_description":"Couchbase Server 6.5 introduces a set of important improvements to the Eventing Service: full access to the source bucket, curl function, possibility to pause and to resume deployed functions.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/eventing-service-improvements-in-couchbase-server-6-5\/","og_site_name":"The Couchbase Blog","article_published_time":"2019-08-09T17:00:40+00:00","article_modified_time":"2025-06-14T05:40:26+00:00","og_image":[{"width":2048,"height":770,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Couchbase65.png","type":"image\/png"}],"author":"Vaidas Gasiunas, Solution Architect, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Vaidas Gasiunas, Solution Architect, Couchbase","Est. reading time":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/"},"author":{"name":"Vaidas Gasiunas, Solution Architect, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c01f7147993aaff01692dc94d9e339fb"},"headline":"Eventing Service Improvements in Couchbase Server 6.5","datePublished":"2019-08-09T17:00:40+00:00","dateModified":"2025-06-14T05:40:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/"},"wordCount":1128,"commentCount":1,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Couchbase65.png","keywords":["6.5","curl","functions"],"articleSection":["Couchbase Server","Eventing"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/","url":"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/","name":"Eventing Service Improvements in Couchbase Server 6.5 - The Couchbase Blog Eventing","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Couchbase65.png","datePublished":"2019-08-09T17:00:40+00:00","dateModified":"2025-06-14T05:40:26+00:00","description":"Couchbase Server 6.5 introduce una serie de mejoras importantes en el servicio de eventos: acceso completo al bucket de origen, funci\u00f3n curl, posibilidad de pausar y reanudar las funciones desplegadas.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Couchbase65.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Eventing-Couchbase65.png","width":2048,"height":770},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/eventing-service-improvements-in-couchbase-server-6-5\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Eventing Service Improvements in Couchbase Server 6.5"}]},{"@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\/c01f7147993aaff01692dc94d9e339fb","name":"Vaidas Gasiunas, Arquitecto de soluciones, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/d9197990b30dc5da6178ed210c7170c5","url":"https:\/\/secure.gravatar.com\/avatar\/87e93f8738ca8b966d667b05071f9730245459aa53bdb340d57479a6873942ae?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/87e93f8738ca8b966d667b05071f9730245459aa53bdb340d57479a6873942ae?s=96&d=mm&r=g","caption":"Vaidas Gasiunas, Solution Architect, Couchbase"},"description":"Vaidas Gasiunas es Arquitecto de Soluciones en Couchbase Alemania, ayudando a los clientes de la regi\u00f3n a adoptar Couchbase para sus casos de uso. Vaidas tiene muchos a\u00f1os de experiencia en la arquitectura y el desarrollo de sistemas de bases de datos centrados en la escalabilidad y la optimizaci\u00f3n del rendimiento.","url":"https:\/\/www.couchbase.com\/blog\/es\/author\/vgasiunas\/"}]}},"authors":[{"term_id":9089,"user_id":39639,"is_guest":0,"slug":"vgasiunas","display_name":"Vaidas Gasiunas, Solution Architect, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/87e93f8738ca8b966d667b05071f9730245459aa53bdb340d57479a6873942ae?s=96&d=mm&r=g","author_category":"","last_name":"Gasiunas, Solution Architect, Couchbase","first_name":"Vaidas","job_title":"","user_url":"","description":"Vaidas Gasiunas es Arquitecto de Soluciones en Couchbase Alemania, ayudando a los clientes de la regi\u00f3n a adoptar Couchbase para sus casos de uso. Vaidas tiene muchos a\u00f1os de experiencia en la arquitectura y el desarrollo de sistemas de bases de datos centrados en la escalabilidad y la optimizaci\u00f3n del rendimiento."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/7045","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\/39639"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=7045"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/7045\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/7051"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=7045"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=7045"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=7045"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=7045"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}