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
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:

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.
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:

- 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.
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.
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.
- Preencha a caixa Mensagem de teste com a mensagem de exemplo
JSON. - 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.

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_MESSAGEcom 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.