Skyone
Skyone
Português
Português
  • Home
  • Dados
    • Introdução
      • Criação da conta
      • Recuperar senha
      • Guia rápido da plataforma
      • Como testar a plataforma gratuitamente
      • Espaço de trabalho
        • Criação de novo espaço
        • Encontrar um espaço
        • Enviar convite para um espaço
        • Editar um espaço
      • Organizações
        • Criando uma Organização
        • Visão Geral da Organização
        • Administração da Organização
        • Monitoramento da Organização
      • Configurações e Preferências
        • Perfil
        • Notificações
        • Uso e Pagamento
        • Usuários e permissões
    • Módulos
      • Gestão de módulos
        • Criação de Módulos
        • Importar Módulos
          • Arquivos IAC - Integration as Code
        • Edição de Módulos
        • Opções de Módulos
      • Configurações & Operações
        • Configurações de Módulos
          • Conectividade: Banco de Dados
          • Conectividade: Email
          • Conectividade: REST
          • Conectividade: SOAP
          • Conectividade: Arquivo
          • Conectividade: RFC
          • Gestão das contas conectadas
        • Operações de Módulos
          • Importar operações em módulos REST
          • Gestão das operações
        • Fluxos usando este Módulo
    • Monitoramento
    • Marketplace
    • API Gateway
    • Terminais & Agente
      • Agente
        • Versões suportadas pelo Agente
        • Como atualizar a versão do Agente
        • Como fazer backup dos arquivos do Agente
      • Terminais
    • Dados
      • Data Studio
        • Process Control
        • Data Stack Upload
        • File Actions
        • File Jobs
        • Data Job Parameters
        • Data Store
        • Data Share Features
        • ODBC
        • Como utilizar o Proxy para Data Engine
    • Integrações
      • Gestão das integrações
        • Criar integração
        • Importar integração
        • Editar integração
        • Opções da integração
        • Fluxos dessa integração
      • Fluxos
        • Gestão dos fluxos
          • Criar fluxo
          • Opções do fluxo
          • Flow Canva: configuração e edição do fluxo
            • Flow Canva: visão geral
            • Exception Handler
              • Configuração do Exception Handler
              • Cases do Exception Handler
            • Fluxos Multicontexto
              • Exemplo: Multicontexto com API Gateway
              • Exemplo: Multicontexto com Gatilho Temporal
            • Configuração do fluxo
        • Gatilhos
          • Gatilhos API Gateway: Adição e Configuração
          • Gatilhos AS2: Adição e Configuração
          • Gatilho de Fila: Adição e Configuração
          • Gatilhos de Fluxo: Adição e Configuração
          • Gatilhos Temporais: Adição e Configuração
          • Gatilhos Webhook: Adição e Configuração
        • Módulos Ferramentais
          • Módulo AS2
          • Módulo CSV
          • Módulo Chamada de Fluxo
          • Módulo Data Balancer
          • Módulo EDI
          • Módulo IF
          • Módulo JavaScript
          • Módulo Log
          • Módulo Loop Do While
          • Módulo Loop For
          • Módulo Retorno
          • Módulo Transformação de Dados
          • Módulo XML
          • Outros Módulos Ferramentais da plataforma
      • Cabeçalho dos módulos
      • Conectando componentes de um fluxo
      • Edição de gatilhos e módulos no fluxo
      • Operações de Dados
        • Manipulação de Objetos
          • Exemplo prático: Manipulação de variáveis
        • SMOP (Pequenas Operações)
        • Regras de Parametrização
    • How to
      • Inserir JSON em bancos de dados
      • Flattening: Transformação de dados utilizando JSONata
      • Como utilizar o Form Data
      • Entendendo a recursividade no JSONata
      • Consolidação de output de módulo REST
      • Como configurar um timeout de um componente?
      • Isolar na execução: conceito e aplicação em variáveis
      • Parâmetros de URL no API Gateway
      • Caso de uso: parâmetros de gatilho API Gateway
      • Caso de uso: Exception Handler em transações financeiras
      • Caso de uso: utilizando Grupos para gerenciar acessos aos fluxos
      • Como criar endpoint para download e integrar com o Power BI
      • É possível usar dois gatilhos em um único fluxo?
      • Como configurar o WhatsApp no Skyone Studio
    • FAQ
    • GIGS: O guia completo
    • Glossário
  • SUPORTE
    • Como solicitar suporte?
    • Níveis de gravidade de caso
    • SLAs
    • Ajuda e recursos
Powered by GitBook
On this page
  1. Dados
  2. Integrações
  3. Fluxos
  4. Gestão dos fluxos
  5. Flow Canva: configuração e edição do fluxo
  6. Exception Handler

Configuração do Exception Handler

PreviousException HandlerNextCases do Exception Handler

Last updated 6 months ago

Para configurar um "Exception Handler" é necessário definí-lo dentro de um fluxo e aplicá-lo aos módulos. Também pode ser necessário configurar o servidor syslog e o e-mail de notificação


Como acessar

Na página de edição de fluxo, selecione o botão "Exception Handlers".


Objetivos

Configurar o tratamento de exceção para um módulo REST.


Passo a Passo

Passo 01: Criar o Exception Handler de tratamento de erros HTTP

Clique em "Adicionar Exception Handler".

Na tela apresentada:

  • Defina um nome para o seu Exception Handler, por exemplo HTTP Handler. Esse nome será visualizado na configuração do módulo.

  • Crie uma descrição sobre esta Exception Handler.

  • Defina um escopo de disponibilidade do seu EH.

    • Fluxo: Visualizado e disponível apenas no flow que você está editando.

    • Integração: Visualizado e disponível para todos os flows da Integração que você está editando.

    • Espaço: Disponível para qualquer fluxo de qualquer integração do seu espaço.

  • Clique em "Adicionar regra" para criar uma nova Regra do Handler.

Após o clique em "Adicionar regra", será a segunda parte das configurações:

  • Defina um nome para sua Regra do Handler, como por exemplo Client/Server Error Responses.

  • Defina as re-tentativas para 1. O objetivo é permitir que a plataforma tente mais 1 vez a chamada, eliminando eventuais erros pontuais de comunicação.

  • Defina o tempo de espera.

  • Defina a expressão regular que identifica qualquer erro de cliente ou servidor HTTP. Para isso usamos uma expressão regular que encontra qualquer sequência de 3 dígitos iniciada em 4 ou 5. Observe que quaisquer caracteres são importante para o funcionamento de uma expressão regular, inclusive os espaços.

    • “status”: [45]\d\d

  • Selecione as notificações que essa ER irá gerar, por exemplo Syslog e Local.

  • Defina a mensagem gerada nessas notificações, por exemplo: HTTP Error 400/500. Essa mensagem poderá ser filtradas no syslog ou nos logs locais.

Essa Regra do Handler pode ser sumarizada pelo quadro abaixo:

Nome

Tentativa

Tempo de espera

REGEX

ANY

Notificação

Mensagem

Enviar Parâmetros?

Client/Server Error Responses

1

0

“status”: [45]\d\d

syslog

local

HTTP Error 400/500

Mais abaixo, em Regra default do Handler:

  • Defina as notificações que serão geradas, por exemplo syslog e Local.

  • Defina a mensagem de notificação, por exemplo: HTTP FATAL ERROR.

  • Selecione Enviar parâmetros na mensagem? Essa opção irá incluir na mensagem de notificação toda a informação de contexto da chamada, permitindo identificar exatamente os parâmetros utilizados.

  • Escolha a Ação final (Continuar, Continuar loop ou Parar)

  • Clique em "Salvar" para finalizar as configurações.

Passo 02: Criar o Exception Handler de tratamento de erros Genéricos

Muitos erros são imprevisíveis. Podemos definir um EH para tratá-los de forma padronizada.

  • Crie um novo EH com nome Generic com escopo de Integração.

  • Adicione a seguinte Regra do Handler:

Name

Retries

Delay

REGEX

ANY

Notificação

Message

Send Params

Generic

1

0

syslog

local

UNKNOWN ERROR

  • Observe que selecionamos o campo ANY. Com essa opção qualquer exceção será tratada por essa regra. Tipicamente essa opção é aplicada apenas uma vez no final de uma sequência de EHs para tratar todos os erros que não foram especificamente definidos anteriormente.

  • Configure a Regra default do Handler.

  • Selecione Syslog e Local como mecanismos de notificação.

  • Selecione Enviar parâmetros na mensagem?. Essa opção nos permitirá investigar os detalhes do erro desconhecido que gerou a exceção.

  • Selecione a ação final com "Parar". Dessa forma o fluxo será interrompido, pois estamos lidando com algum erro grave para o qual nosso fluxo não está preparado a responder.

  • Clique em "Salvar" para finalizar as configurações.

Passo 03: Aplicar os Exception Handlers no Módulo

Entre no modo de edição do módulo que receberá os Exception Handlers. Observe que ambos EH criados estão disponíveis para aplicação no módulo.

  • Primeiro selecione HTTP Handler e em seguida selecione Generic.

  • Observe que eles são inseridos no campo de Handlers selecionados na ordem em que foram selecionados. Essa ordem determina também a ordem na qual as exceções serão avaliadas e portanto é fundamental para o correto funcionamento da pilha de EH.

Passo 04: Configurar as notificações syslog e e-mail do Exception Handler

Ao criar uma regra no Exception Handler, é possível escolher qual ou quais mensagens você receberá.

No entanto, somente selecionar o tipo de mensagem não é suficiente para garantir o recebimento da notificação.

Para receber todas as notificações, siga os seguintes passos:

  1. Acesse "Configurações" na área de edição do fluxo.

  2. Clique na aba "Alertas".

  3. Em "Configurações de logs", insira o endereço do servidor syslog e/ou os endereços de e-mail que devem receber as notificações.

  4. Por fim, clique em "Salvar alterações".

Passo 05: Executar o fluxo

Execute esse fluxo contra algum serviço programado para responder com código de erro (400) ou provoque o erro através de algum parâmetro configurado erroneamente.

  • Execute o fluxo contra um serviço que responda código de erro, por exemplo 400.

  • Observe que o fluxo é finalizado com sucesso apesar da exceção, uma vez que ela foi tratada com ação de continuar.

  • Observe que as mensagens de log geradas localmente apontam que o EH HTTP Handler foi responsável pela manipulação da exceção.

  • Observe que foram geradas duas chamadas sendo uma re-tentativa com suas respectivas notificações. A terceira mensagem de erro foi gerada pela Regra default do Handler e inclui os detalhes da chamada que gerou a exceção.

  • Adicionalmente você pode executar esse fluxo contra um serviço que está indisponível. Nesse caso não receberemos um código HTTP, mas algum outro tipo de erro. O exemplo abaixo foi gerado contra um servidor com o serviço desabilitado.

  • Observe o erro de Conexão Recusada na mensagem detalhada.

  • Observe que a manipulação desse erro foi executada pelo EH Generic.

  • O fluxo foi interrompido com a geração de um ERRO conforme programado no Handler através da ação Parar da Regra default do Handler.


Próximos Passos:


Você pode encontrar validadores de expressões regulares na Internet, ex:

É fundamental que a opção “Fluxos” esteja ativada em “Notificações de elementos”. Leia o artigo "".

[ Passo 01 ] Criar o Exception Handler de tratamento de erros HTTP
[ Passo 02 ] Criar o Exception Handler de tratamento de erros Genéricos
[ Passo 03 ] Aplicar os Exception Handlers no Módulo
[ Passo 04 ] Configurar o servidor de syslog
[ Passo 05 ] Executar o fluxo
https://regex101.com/
Notificações
Cases do Exception Handler
Tela para a inserção de dados do Handler
Tela de edição do módulo e os Exception Handlers disponíveis
Exception Handlers aplicados ao módulo