[{"data":1,"prerenderedAt":29},["ShallowReactive",2],{"article-data-curso-gcp-pub-sub-03":3},{"content":4,"date":5,"image":6,"sideArticles":7},"\u003C!DOCTYPE html>\r\n\u003Chtml lang=\"es\">\r\n\r\n\u003Chead>\r\n    \u003Cmeta charset=\"UTF-8\">\r\n    \u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    \u003Cmeta name=\"description\"\r\n        content=\"Domina el filtrado de mensajes en Google Cloud Pub/Sub. Aprende a usar atributos y filtros en suscripciones para ahorrar costes y procesar solo la información relevante.\">\r\n    \u003Cmeta name=\"keywords\"\r\n        content=\"Pub/Sub, Filtrado, Atributos, Google Cloud, GCP, Terraform, Data Engineering, Optimización de Costes\">\r\n    \u003Cmeta name=\"author\" content=\"Eduardo Martínez Agrelo\">\r\n    \u003Ctitle>Pub/Sub: Filtro de Mensajes | Curso Pub/Sub GCP\u003C/title>\r\n    \u003Cstyle>\r\n        body {\r\n            font-family: sans-serif;\r\n            line-height: 1.6;\r\n        }\r\n\r\n        h1,\r\n        h2,\r\n        h3 {\r\n            color: #333;\r\n        }\r\n\r\n        ul {\r\n            list-style-type: disc;\r\n            margin-left: 20px;\r\n        }\r\n\r\n        code {\r\n            background-color: #f4f4f4;\r\n            padding: 2px 5px;\r\n            border-radius: 3px;\r\n            font-family: monospace;\r\n        }\r\n    \u003C/style>\r\n\u003C/head>\r\n\r\n\u003Cbody>\r\n    \u003Ch1>Pub/Sub: Filtro de Mensajes (Eficiencia y Ahorro)\u003C/h1>\r\n\r\n    \u003Cp>\u003Cstrong>Autor:\u003C/strong> \u003Ca href=\"https://www.youtube.com/@EduardoMartinezAgrelo\" target=\"_blank\">Eduardo Martínez\r\n            Agrelo\u003C/a>\u003C/p>\r\n\r\n    \u003Cp>En arquitecturas de gran escala, procesar cada mensaje que fluye por el sistema puede resultar ineficiente y\r\n        costoso. En este laboratorio, aprenderemos a utilizar el \u003Cstrong>Filtrado de Mensajes\u003C/strong> de Pub/Sub para\r\n        que nuestras suscripciones actúen como \"porteros\", dejando pasar únicamente los datos que cumplen con criterios\r\n        específicos.\u003C/p>\r\n\r\n    \u003Ch2>El poder de los Atributos\u003C/h2>\r\n\r\n    \u003Cp>Un mensaje en Pub/Sub no es solo un cuerpo de datos (payload). También puede transportar\r\n        \u003Cstrong>Atributos\u003C/strong>, que son pares clave-valor de metadatos. Estos atributos permiten clasificar la\r\n        información sin necesidad de abrir y analizar el contenido del mensaje:\u003C/p>\r\n    \u003Cul>\r\n        \u003Cli>\u003Cstrong>Metadatos:\u003C/strong> Información como el tipo de evento, la severidad del log o la región de origen.\r\n        \u003C/li>\r\n        \u003Cli>\u003Cstrong>Desacoplamiento Lógico:\u003C/strong> La suscripción decide qué recibir basándose en estos metadatos, no\r\n            en el contenido binario.\u003C/li>\r\n    \u003C/ul>\r\n\r\n    \u003Ch2>Filtrado en el Lado del Servidor\u003C/h2>\r\n\r\n    \u003Cp>A diferencia del filtrado manual en nuestro código Python, el filtrado de Pub/Sub ocurre en la infraestructura de\r\n        Google Cloud. Esto significa que si un mensaje no cumple el filtro, nunca llega a nuestro suscriptor, lo que se\r\n        traduce en:\u003C/p>\r\n    \u003Cul>\r\n        \u003Cli>\u003Cstrong>Ahorro de Costes:\u003C/strong> No pagamos por el tráfico de red ni por la computación de mensajes\r\n            irrelevantes.\u003C/li>\r\n        \u003Cli>\u003Cstrong>Simplicidad de Código:\u003C/strong> Nuestro suscriptor solo recibe datos \"limpios\" y listos para\r\n            procesar.\u003C/li>\r\n    \u003C/ul>\r\n\r\n    \u003Ch2>Implementación con Terraform\u003C/h2>\r\n\r\n    \u003Cp>Declarar filtros es extremadamente sencillo gracias a la sintaxis declarativa de Terraform. Utilizaremos el\r\n        argumento \u003Ccode>filter\u003C/code> para definir reglas basadas en atributos:\u003C/p>\r\n    \u003Cp>\u003Ccode>filter = \"attributes.severity = \\\"ERROR\\\"\"\u003C/code>\u003C/p>\r\n    \u003Cp>Esta instrucción asegura que la suscripción ignore todos los mensajes informativos o de advertencia, centrando\r\n        los recursos del sistema exclusivamente en la gestión de incidentes críticos.\u003C/p>\r\n\r\n    \u003Ch2>Conclusión: Arquitecturas más inteligentes\u003C/h2>\r\n    \u003Cp>Has aprendido que enviar datos no es lo mismo que procesarlos. Al dominar el filtrado, has dado un paso hacia el\r\n        rol de arquitecto, optimizando recursos y costes. Pero, ¿qué sucede cuando un mensaje que sí queremos procesar\r\n        genera un error? En el próximo laboratorio descubriremos cómo gestionar fallos mediante las Dead Letter Queues.\r\n    \u003C/p>\r\n\u003C/body>\r\n\r\n\u003C/html>","April 15, 2026","https://storage.googleapis.com/mp-blog/images/curso-gcp-pub-sub-03.jpg",[8,14,19,24],{"id":9,"title":10,"description":11,"image":12,"date":13},"curso-gcp-apache-spark-01","Spark: Infraestructura como Código con Terraform | Curso Spark, Scala y Terraform","Aprende a desplegar clústeres de Big Data profesionalmente. Domina Terraform para crear infraestructura como código (IaC) en Google Cloud y automatiza tu entorno de Dataproc para Spark.","https://storage.googleapis.com/mp-blog/images/curso-gcp-apache-spark-01.jpg","March 12, 2026",{"id":15,"title":16,"description":17,"image":18,"date":13},"curso-gcp-apache-spark-02","Spark: Ingesta (Raw to Bronze) y Formatos Columnares | Curso Spark, Scala y Terraform","Domina la ingesta de datos con Spark. Aprende a convertir JSONs pesados en formato Parquet, optimiza tu almacenamiento en un 85% y domina los esquemas estrictos con Scala.","https://storage.googleapis.com/mp-blog/images/curso-gcp-apache-spark-02.jpg",{"id":20,"title":21,"description":22,"image":23,"date":13},"curso-gcp-apache-spark-03","Spark: Limpieza y Calidad (Bronze to Silver) | Curso Spark, Scala y Terraform","Domina la limpieza de datos en Spark. Aprende a usar Scala para implementar la capa Silver (Plata) de tu arquitectura Medallón, utilizando Case Classes para mayor seguridad.","https://storage.googleapis.com/mp-blog/images/curso-gcp-apache-spark-03.jpg",{"id":25,"title":26,"description":27,"image":28,"date":13},"curso-gcp-apache-spark-04","Spark: Analítica Avanzada (Silver to Gold) | Curso Spark, Scala y Terraform","Domina el Análisis Avanzado con Spark. Aprende a calcular métricas de negocio con Window Functions y a extraer el Top 3 de canciones por país y día para tu capa Gold.","https://storage.googleapis.com/mp-blog/images/curso-gcp-apache-spark-04.jpg",1776363698529]