Descripción general de las transformaciones de mensaje único (SMT)

La mayoría de las canalizaciones de datos de transmisión requieren transformaciones de datos. Algunos usuarios prefieren transformar los datos después de que llegan a su destino en una canalización de extracción, carga y transformación (ELT), mientras que otros optan por transformar los datos antes de su transferencia en una canalización de extracción, transformación y carga (ETL). Tradicionalmente, esta arquitectura requería canalizaciones complejas con herramientas como Dataflow o Apache Flink para realizar transformaciones de datos.

Pub/Sub ofrece transformaciones de mensaje único (SMT) para simplificar las transformaciones de datos de las canalizaciones de transmisión. Las SMT permiten realizar modificaciones ligeras en los datos y atributos de los mensajes directamente en Pub/Sub. Los SMT eliminan la necesidad de realizar pasos adicionales de procesamiento de datos o de usar productos de transformación de datos independientes.

Cuando se ejecuta una SMT, toma el mensaje de Pub/Sub como entrada, incluidos los datos y atributos del mensaje. El resultado es un mensaje de Pub/Sub transformado, con modificaciones en los datos o los atributos. Los SMT están integrados en la API de Pub/Sub, por lo que puedes administrarlos como parte de la configuración de tu tema o suscripción.

Casos de uso de los SMT

Considera diseñar una tienda en línea que quiera brindarles a los clientes recomendaciones de productos personalizadas mientras navegan por el sitio web. Para ello, puedes usar Pub/Sub para recopilar datos en tiempo real sobre la actividad de los clientes en el sitio. Esto incluye datos sobre los productos vistos, los productos agregados al carrito y las calificaciones otorgadas a los productos.

Sin embargo, estos datos sin procesar a menudo necesitan algunos ajustes antes de que se puedan usar para generar recomendaciones. Por ejemplo, los datos sin procesar pueden contener detalles innecesarios que no son relevantes para tu caso de uso. Entre los ejemplos de estos detalles, se incluyen el tipo de navegador del cliente o la hora en que visitó el sitio. Es posible que los datos tampoco estén en el formato requerido para el sistema de recomendación. Por ejemplo, es posible que las marcas de tiempo tengan formatos diferentes o que los IDs de productos deban convertirse a otro tipo.

Puedes usar los SMT de Pub/Sub para realizar transformaciones de datos como las siguientes:

  • Quita la información de identificación personal (PII), como nombres y direcciones completos, para proteger la privacidad de los clientes.

  • Conserva solo los eventos relevantes para las recomendaciones, como las vistas de productos y las compras, y descarta otros, como los cambios en el perfil del cliente.

  • Asegúrate de que todas las marcas de tiempo, los valores de moneda y los IDs de productos cumplan con un formato coherente y un tipo compatible con el sistema de recomendación.

  • Generar nuevos campos de datos a partir de datos sin procesar, como el valor total del carrito de compras o el tiempo de permanencia en la página del producto

  • Agrega inferencias de los modelos de Gemini Enterprise Agent Platform a los datos de eventos, como clasificaciones, predicciones, opiniones o incorporaciones.

En resumen, los SMT habilitan una amplia variedad de casos de uso, incluidos los siguientes:

  • Enmascaramiento y ocultamiento de datos: Protege los datos sensibles enmascarando u ocultando campos como números de tarjetas de crédito o PII, lo que ayuda a cumplir con las reglamentaciones de privacidad de los datos.

  • Conversión de formato de datos: Transforma datos entre diferentes formatos para garantizar la compatibilidad con los sistemas posteriores.

  • Filtrado de mensajes: Procesa solo los mensajes pertinentes filtrando los mensajes no deseados según el contenido o los atributos. Los SMT permiten condiciones de filtrado más complejas que los filtros integrados de Pub/Sub.

  • Transformaciones de datos simples: Realiza tareas básicas de manipulación de datos, como la manipulación de cadenas, el formateo de fechas o las operaciones matemáticas.

  • Inferencia de IA: Integra modelos de IA sin problemas en tus canalizaciones de Pub/Sub con la SMT de inferencia de IA.

Tipos de SMT

Pub/Sub admite los siguientes SMT:

  • AI Inference: Obtiene inferencias sobre mensajes de Pub/Sub a partir de un modelo de Agent Platform.
  • Funciones definidas por el usuario: Llama a una función definida por el usuario (UDF) de JavaScript para realizar transformaciones personalizadas en los mensajes de Pub/Sub.

Ejemplo de flujo de mensajes para SMT

En la imagen, se muestra un ejemplo de un sistema de Pub/Sub con SMT aplicadas a nivel del tema y de la suscripción.

Diagrama que muestra cómo se ven afectados los mensajes con el SMT del tema y el SMT de la suscripción.
Figura 1: Cómo se transforman los mensajes con los SMT.

En el siguiente procedimiento, se muestra cómo fluyen los mensajes en el sistema de Pub/Sub:

  1. Las aplicaciones de publicador Publicador 1 y Publicador 2 publican los mensajes A y B, respectivamente, en el tema de Pub/Sub.

  2. Los SMT del tema transforman los mensajes A y B en los mensajes A' y B', respectivamente.

  3. Si se adjunta un esquema al tema, los mensajes transformados A' y B' se validan según el esquema. Por ejemplo, si A' no coincide con el esquema, la publicación del mensaje A falla con un error.

  4. Los mensajes transformados A' y B' se escriben en el almacenamiento de Pub/Sub.

  5. Pub/Sub entrega los mensajes A' y B' a todas las suscripciones adjuntas, que son Suscripción 1 y Suscripción 2, como se muestra en la imagen.

  6. Si Suscripción 1 tiene un filtro configurado, los mensajes A' y B' se evalúan según el filtro. Solo los mensajes que coincidan con el filtro pasarán al siguiente paso. Pub/Sub reconoce automáticamente otros mensajes.

  7. Si Suscripción 2 tiene un filtro configurado, los mensajes A' y B' se evalúan según el filtro. Solo los mensajes que coincidan con el filtro pasarán al siguiente paso. Pub/Sub reconoce automáticamente otros mensajes.

  8. Las SMT de la suscripción 1 transforman los mensajes A y B. A' se convierte en A'' y B' se convierte en B''.

  9. Los SMT de la suscripción 2 transforman los mensajes A y B. A' permanece como A' y B' se filtra.

  10. Si Suscripción 1 es una suscripción de envío con el desempaquetado de cargas útiles habilitado, se desempaquetan los mensajes A'' y B''. Si Suscripción 2 es una suscripción de envío con la separación de la carga útil habilitada, se separa A'.

  11. Subscriber 1 recibe el mensaje B'', Subscriber 2 recibe el mensaje A'' y Subscriber 3 recibe el mensaje A'.

  12. Los suscriptores confirman la recepción de los mensajes.

  13. Pub/Sub borra los mensajes confirmados del almacenamiento.

Limitaciones

  • Se pueden habilitar hasta 5 SMT en un tema o una suscripción.

  • Las SMT operan en un solo mensaje de Pub/Sub. No pueden agregar varios mensajes de Pub/Sub.

¿Qué sigue?