Event Publisher
Saiba mais sobre o conector Event Publisher e como utilizá-lo na Digibee Integration Platform.
O conector Event Publisher permite a comunicação orientada a eventos entre pipelines, notificando outros pipelines sobre uma mudança de estado, uma ação ou um fato ocorrido para que possam reagir a ele, aproveitando o roteamento de eventos nativo da plataforma.
Saiba mais sobre como usar arquitetura orientada a eventos na Digibee Integration Platform.
Parâmetros
A tabela abaixo lista todos os parâmetros de configuração do conector. Os parâmetros que suportam expressões Double Braces estão marcados com ✅ na coluna Suporta DB.
Alias
Um nome para a saída deste conector, para que você possa referenciá-la posteriormente no fluxo usando Double Braces.
String
❌
event-publisher-1
Event
Nome do evento a ser publicado para que outros pipelines o consumam.
String
✅
{{ DEFAULT(message.eventName, "new-event") }}
Body
Payload a ser enviado com o evento.
JSON
✅
{{ message.$ }}
Log Each Event Sent
Se habilitado, gera um log de entrada para cada evento enviado.
Boolean
❌
false
Fail On Error
Se habilitado, interrompe a execução do pipeline quando ocorre um erro. Se desabilitado, a execução continua, mas a propriedade "success" será definida como false.
Boolean
❌
false
Documentation
Campo opcional para descrever a configuração do conector e quaisquer regras de negócio relevantes.
String
❌
N/A
Como funciona a troca de mensagens baseada em eventos entre pipelines?
Uma configuração orientada a eventos sempre tem dois lados: um pipeline que publica o evento e um ou mais pipelines que o consomem.
Primeiro, configure o pipeline Publisher:
Adicione o conector Event Publisher ao pipeline.
No parâmetro Event, informe o nome do evento a ser publicado.
Para enviar dados junto com o evento, defina o payload no parâmetro Body.
Em seguida, configure o pipeline Subscriber:
Defina o tipo de trigger do pipeline como Event Trigger.
Na configuração do trigger, informe o nome do evento na propriedade Event Name. Esse valor deve corresponder ao definido no parâmetro Event do pipeline Publisher.
Com os dois pipelines configurados, toda vez que o pipeline Publisher executar e publicar o evento, o pipeline Subscriber é acionado e começa a executar automaticamente.
Observação sobre o redeploy dos pipelines Publisher e Subscriber
Ao fazer o redeploy de um pipeline com Event Publisher, também faça o redeploy do pipeline Subscriber correspondente (aquele com o Event Trigger), começando pelo Subscriber. Se os dois lados ficarem temporariamente desalinhados, a entrega do evento continua funcionando, mas as configurações de timeout e redelivery (Allow Redelivery Of Messages) podem não ser aplicadas até que o redeploy seja feito em ambos os pipelines. Saiba mais em Como interpretar alertas de publicação e entrega de eventos.
Cenários de erro
java.util.NoSuchElementException: Timeout waiting for idle object
Esse erro significa que o conector não consegue acompanhar o número de eventos enviados simultaneamente. Para resolver isso, você tem duas opções:
Aumentar o número de réplicas do pipeline: distribui a carga de eventos de forma mais eficiente e reduz a pressão sobre o conector, permitindo que ele processe os eventos com mais fluidez.
Implementar tratamento de erros com Retry: reenvia automaticamente os eventos que causaram o erro, o que ajuda em picos temporários de carga ou eventos que falham ocasionalmente.
Fluxo de mensagens
Entrada
O conector espera uma mensagem válida em formato JSON. Nenhum atributo específico é esperado. Você pode referenciar a mensagem de entrada com Double Braces tanto no parâmetro Event quanto no Body. Por exemplo, digamos que a seguinte mensagem seja passada para o Event Publisher:
Você poderia definir uma expressão Double Braces no parâmetro Event para obter o valor do atributo eventName:
Você poderia configurar o atributo Body da mesma forma:
Saída
O conector encaminha a mensagem recebida do conector anterior, sem qualquer alteração. No exemplo acima, a mensagem de saída é:
Próximos passos
Agora que você já sabe como o Event Publisher funciona, leia Event Trigger para configurar o pipeline que consome o evento publicado.
Atualizado
Isto foi útil?