Event Publisher

Conheça o componente e saiba como utilizá-lo.

Rodrigo Lara avatar
Escrito por Rodrigo Lara
Atualizado há mais de uma semana

IMPORTANTE: Esta documentação foi descontinuada. Leia a documentação Event Publisher atualizada no nosso novo portal de documentação.

Um evento é uma mensagem que notifica outros componentes sobre uma mudança de estado, uma ação ou um fato ocorrido. O Event Publisher publica um evento para que outros pipelines configurados para escutá-lo possam reagir quando a publicação ocorrer.

Mais informações sobre Arquitetura Orientada a Eventos podem ser encontradas aqui.

Dê uma olhada nos parâmetros de configuração do componente:

  • Evento: nome do evento criado que será publicado para consumo por outros pipelines. Este parâmetro aceita Double Braces.

  • Body: payload a ser enviado com o evento. Este parâmetro aceita Double Braces.

  • Log Each Event Sent: quando ativada, a opção irá gerar uma entrada de log para cada evento enviado.

  • Fail On Error: se a opção estiver habilitada, a execução do pipeline com erro será interrompida; do contrário, a execução do pipeline continua, mas o resultado vai mostrar um valor falso para a propriedade "success".

Alguns dos parâmetros acima aceitam Double Braces. Para entender melhor como funciona essa linguagem, leia o nosso artigo clicando aqui.

Como o Event Publisher é utilizado?

Para implementar uma Arquitetura Orientada a Eventos é necessário definir:

  • o pipeline que publicará o evento (Publicador)

  • um ou mais pipelines que irão consumir o evento (Assinantes)

Para configurar o pipeline que publicará o evento:

  • arraste o Event Publisher para o canvas do pipeline Publicador;

  • configure o nome do evento na propriedade “Evento” do Event Publisher;

  • caso deseje passar um payload junto com o evento, defina o conteúdo da propriedade “Body”.

Para configurar o pipeline que consumirá o evento:

  • altere o tipo do trigger para "Event" no pipeline Assinante;

  • abra as configurações do trigger e informe o nome do evento a ser consumido na propriedade “Nome do Evento”. Esse valor deve ser idêntico ao informado no Event Publisher do pipeline Publicador.

Fluxo de Mensagens

Entrada

O componente espera uma mensagem válida em formato JSON. Não é esperado nenhum atributo específico. A mensagem de entrada poderá ser referenciada através de Double Braces tanto para a configuração do atributo “Evento” quanto do atributo “Body”. Por exemplo, digamos que a mensagem abaixo fosse passada para o Event Publisher:

{
"eventName": "example",
"body": {
"id": "1",
"description": "Description of the case"
}
}

Você poderia definir uma expressão Double Braces no atributo “Evento” para obter o valor do atributo eventName:

{{ message.eventName }}

O atributo body também poderia ser configurado da mesma forma:

{{ message.body }}

Saída

O componente repassa a mensagem recebida do componente anterior sem nenhuma alteração. No caso do exemplo acima, a mensagem repassada seria:

{
"eventName": "example",
"body": {
"id": "1",
"description": "Description of the case"
}
}

Respondeu à sua pergunta?