Criar uma classe de mensagem de origem

Neste guia, descrevemos como criar uma classe de mensagem de origem para o Manufacturing Data Engine (MDE).

Modelagem de classe de mensagem de origem

As classes de mensagens de origem precisam ser definidas para capturar um conjunto de mensagens de origem que compartilham uma estrutura comum.

Quanto mais específicas forem as classes de mensagens de origem, menos instruções condicionais você precisará escrever nos scripts do Whistle para processar diferenças de esquema entre mensagens de origem diferentes. No entanto, criar classes de mensagens de origem mais específicas exige mais analisadores.

Portanto, a modelagem de classes de mensagens de origem envolve encontrar o equilíbrio certo entre, por um lado, ter classes de mensagens de origem com esquemas de mensagens uniformes e, por outro lado, o número de analisadores que você precisa gerenciar.

Criação da classe de mensagem de origem

Esta seção descreve o processo de criação de uma classe de mensagem de origem usando chamadas de API ou a interface do console.

REST

POST /configuration/v1/message-classes

{
  "name": "MESSAGE_CLASS_NAME",
  "MESSAGE_CLASS_NAME": "PRIORITY",
  "expression": "SPEL_EXPRESSION"
}

Substitua:

  • MESSAGE_CLASS_NAME: o nome da classe de mensagem a ser criada.
  • PRIORITY: a prioridade da classe de mensagem. A prioridade de uma classe de mensagem é um número inteiro de 0 a 65535 , inclusive. Os números inteiros mais baixos indicam prioridades mais altas.
  • SPEL_EXPRESSION: a expressão SpEL que define a classe de mensagem. Por exemplo, #root.event['value'] instanceof T(Number)

Console

  1. Abra a seção CLASSES DE MENSAGENS da UI para criar uma classe de mensagem de origem. Uma lista de todas as classes de mensagens disponíveis é mostrada nesta seção da UI:

    Classes de mensagem: listar mensagens

    Para cada classe de mensagem, os seguintes parâmetros são mostrados na lista:

    • Nome da classe de mensagem: o nome da classe de mensagem. Precisa ser exclusivo.
    • Expressão de classe de mensagem: a expressão SpEL real associada à classe de mensagem.
    • Prioridade: a prioridade da classe de mensagem (números menores representam prioridades mais altas).
    • Ativado: o status das classes de mensagens. As classes de mensagens desativadas não farão parte da ingestão.
    • Ações: um botão contextual que dá acesso às funções Ver / Editar e Ativar / Desativar para a classe de mensagem selecionada.
  2. Para adicionar uma nova classe de mensagem, clique no botão ADICIONAR NOVA CLASSE DE MENSAGEM na parte de cima. Um novo menu lateral vai aparecer com todos os parâmetros obrigatórios da classe de mensagem a serem fornecidos:

    Classes de mensagens: criar uma classe de mensagem

    • Nome da classe de mensagem: uma string exclusiva que define a classe de mensagem.
    • Expressão da classe de mensagem: refere-se à expressão SpEL que define a classe de mensagem.
    • Prioridade: define a prioridade associada à classe de mensagem. A prioridade de uma classe de mensagem é um número inteiro de 0 a 65535 , inclusive. Os números inteiros mais baixos indicam prioridades mais altas. Se uma mensagem validar a expressão de duas classes de mensagem, apenas aquela com o valor de prioridade mais baixo será acionada.
  3. Para criar uma nova classe de mensagem, preencha o campo "Expressão da classe de mensagem" com uma expressão SpEL válida e defina a prioridade.

  4. Clique no botão CRIAR para salvar as mudanças. Uma mensagem de confirmação vai aparecer se a nova classe de mensagem for criada.

Como testar uma expressão de classe de mensagem de origem

Você pode testar suas expressões de classe de mensagem de origem antes de criar uma.

REST

POST /configuration/v1/message-classes:test

{
  "expression": "SPEL_EXPRESSION",
  "testMessage": "TEST_MESSAGE"
}

Substitua:

  • SPEL_EXPRESSION: a expressão SpEL que define a classe de mensagem.
  • TEST_MESSAGE: o objeto de mensagem de origem do teste.

O objeto de retorno informa se a expressão fornecida está sintaticamente correta e se ela seria avaliada como true ou false para a mensagem fornecida.

Console

A interface oferece a opção de testar a expressão SpEL da nova classe Message com uma mensagem de teste.

  1. Preencha a caixa Mensagem de teste com a mensagem de exemplo JSON.
  2. Clique em EXECUTAR TESTE para fazer a validação. O resultado do teste é "Correspondência" ou "Sem correspondência", além de uma breve explicação dos critérios de correspondência.

Classes de mensagens: classe de mensagem de teste

Avaliar uma mensagem de teste em relação a todas as classes de mensagens ativas

É possível avaliar uma mensagem para determinar em qual classe de mensagem de origem uma mensagem de teste se enquadraria em um conjunto de classes de mensagem de origem ativas.

REST

POST /configuration/v1/message-classes:evaluate

{
  "testMessage": "TEST_MESSAGE"
}

Substitua:

  • TEST_MESSAGE com o objeto de mensagem de origem do teste.

O objeto de retorno informa qual classe de mensagem de origem foi correspondida para a mensagem fornecida, se houver.