Visão geral das transformações de mensagens únicas (SMTs)

A maioria dos pipelines de dados de streaming exige transformações de dados. Alguns usuários preferem transformar os dados depois que eles chegam ao destino em um pipeline de extração, carregamento e transformação (ELT, na sigla em inglês), enquanto outros optam por transformar os dados antes da ingestão em um pipeline de extração, transformação e carregamento (ETL, na sigla em inglês). Tradicionalmente, essa arquitetura exigia pipelines complexos com ferramentas como o Dataflow ou o Apache Flink para realizar transformações de dados.

O Pub/Sub oferece transformações de mensagens únicas (SMTs, na sigla em inglês) para simplificar as transformações de dados de pipelines de streaming. Com as SMTs, é possível fazer modificações leves nos dados e atributos das mensagens diretamente no Pub/Sub. As SMTs eliminam a necessidade de etapas adicionais de processamento de dados ou produtos de transformação de dados separados.

Quando uma SMT é executada, ela usa a mensagem do Pub/Sub como entrada, incluindo os dados e atributos da mensagem. A saída é uma mensagem transformada do Pub/Sub, com modificações nos dados ou atributos. As SMTs são integradas à API Pub/Sub, para que você possa gerenciá-las como parte das configurações de tópico ou assinatura.

Casos de uso de SMTs

Considere projetar uma loja on-line que queira oferecer aos clientes recomendações personalizadas de produtos enquanto eles navegam pelo site. Para fazer isso, use o Pub/Sub para coletar dados em tempo real sobre a atividade do cliente no site. Isso inclui dados sobre os produtos visualizados, os produtos adicionados ao carrinho e as classificações atribuídas aos produtos.

No entanto, esses dados brutos geralmente precisam de alguns ajustes antes de serem usados para gerar recomendações. Por exemplo, os dados brutos podem conter detalhes estranhos que são irrelevantes para seu caso de uso. Exemplos desses detalhes são o tipo de navegador do cliente ou o horário em que ele acessou o site. Os dados também podem não estar no formato necessário para o sistema de recomendação. Por exemplo, os carimbos de data/hora podem estar em formatos diferentes ou os IDs de produtos podem precisar ser convertidos para um tipo diferente.

É possível usar as SMTs do Pub/Sub para fazer transformações de dados, como as seguintes:

  • Remova informações de identificação pessoal (PII, na sigla em inglês), como nomes completos e endereços, para proteger a privacidade do cliente.

  • Mantenha apenas eventos relevantes para recomendação, como visualizações e compras de produtos, e descarte outros, como alterações no perfil do cliente.

  • Garanta que todos os carimbos de data/hora, valores de moeda e IDs de produtos sigam um formato e tipo consistentes compatíveis com o sistema de recomendação.

  • Gere novos campos de dados a partir de dados brutos, como o valor total do carrinho de compras ou o tempo de permanência na página do produto.

  • Adicione inferências de modelos da plataforma de agentes do Gemini Enterprise aos dados de eventos, como classificações, previsões, sentimentos ou incorporações.

Em resumo, as SMTs permitem uma ampla variedade de casos de uso, incluindo os seguintes:

  • Mascaramento e encobrimento de dados: proteja dados sensíveis mascarando ou encobrindo campos como números de cartão de crédito ou PII, ajudando na conformidade com os regulamentos de privacidade de dados.

  • Conversão de formato de dados: transforme dados entre formatos diferentes para garantir a compatibilidade com sistemas downstream.

  • Filtragem de mensagens: processe apenas mensagens relevantes filtrando mensagens indesejadas com base no conteúdo ou nos atributos. As SMTs permitem condições de filtragem mais complexas do que os filtros integrados do Pub/Sub's .

  • Transformações de dados simples: execute tarefas básicas de manipulação de dados, como manipulação de strings, formatação de datas ou operações matemáticas.

  • Inferências de IA: integre modelos de IA perfeitamente aos pipelines do Pub/Sub usando a SMT de inferência de IA.

Tipos de SMTs

O Pub/Sub oferece suporte às seguintes SMTs:

  • Inferência de IA: recebe inferências em mensagens do Pub/Sub de um modelo da plataforma de agentes.
  • Funções definidas pelo usuário: chama uma função definida pelo usuário (UDF) do JavaScript para realizar transformações personalizadas em mensagens do Pub/Sub.

Fluxo de mensagens de exemplo para SMTs

A imagem mostra um exemplo de sistema do Pub/Sub com SMTs aplicadas nos níveis de tópico e assinatura.

Figura mostrando como as mensagens são afetadas com a SMT de tópico e a SMT de assinatura.
Figura 1 : como as mensagens são transformadas com SMTs.

O procedimento a seguir mostra como as mensagens fluem no sistema do Pub/Sub:

  1. Os aplicativos editor Publisher 1 e Publisher 2 publicam as mensagens A e B , respectivamente, no tópico do Pub/Sub.

  2. As SMTs do tópico transformam as mensagens A e B em mensagens A' e B', respectivamente.

  3. Se um esquema estiver anexado ao tópico, as mensagens transformadas A' e B' serão validadas em relação ao esquema. Por exemplo, se A' não corresponder ao esquema, a publicação da mensagem A vai falhar com um erro.

  4. As mensagens transformadas A' e B' são gravadas no armazenamento do Pub/Sub.

  5. O Pub/Sub entrega as mensagens A' e B' a todas as assinaturas anexadas, que são Assinatura 1 e Assinatura 2 , conforme mostrado na imagem.

  6. Se a Assinatura 1 tiver um filtro configurado, as mensagens A' e B' serão avaliadas em relação ao filtro. Somente as mensagens que correspondem ao filtro passam para a próxima etapa. Outras mensagens são reconhecidas automaticamente pelo Pub/Sub.

  7. Se a Assinatura 2 tiver um filtro configurado, as mensagens A' e B' serão avaliadas em relação ao filtro. Somente as mensagens que correspondem ao filtro passam para a próxima etapa. Outras mensagens são reconhecidas automaticamente pelo Pub/Sub.

  8. As SMTs da Assinatura 1 transformam as mensagens A' e B'. A' se torna A'' e B' se torna B''.

  9. As SMTs da Assinatura 2 transformam as mensagens A' e B'. A' permanece como A' e B' é filtrada.

  10. Se a Assinatura 1 for uma assinatura por push com o desencapsulamento de payload ativado, as mensagens A'' e B'' serão desencapsuladas. Se Assinatura 2 for uma assinatura por push com o desencapsulamento de payload ativado, A' será desencapsulada.

  11. Assinante 1 recebe a mensagem B'', Assinante 2 recebe a mensagem A'' e o Assinante 3 recebe a mensagem A'.

  12. Os assinantes reconhecem as mensagens recebidas.

  13. O Pub/Sub exclui as mensagens reconhecidas do armazenamento.

Limitações

  • É possível ativar até 5 SMTs em um tópico ou assinatura.

  • As SMTs operam em uma única mensagem do Pub/Sub. Elas não podem agregar várias mensagens do Pub/Sub.

A seguir