Melhores práticas de integração para desenvolvedores na Digibee Integration Platform
Atualizado
Isto foi útil?
Atualizado
Isto foi útil?
Neste caso de uso, você vai explorar as melhores práticas de integração, essenciais para desenvolvedores de todos os níveis. Este documento aborda diretrizes para garantir que suas integrações sejam eficazes, escaláveis e seguras, com foco na Digibee Integration Platform
A ênfase será dada a três pilares essenciais:
Melhorar a depuração com práticas de solução de problemas mais eficazes.
Garantir a consistência dos dados por meio da validação de payloads.
Validar respostas de chamadas externas.
O debugging é essencial para manter os fluxos de integração. Uma maneira de alcançar isso é melhorando a visibilidade dos seus payloads durante a execução. O conector desempenha um papel fundamental nesse processo, tornando o troubleshooting mais fácil.
Para maximizar a eficácia dos logs, é importante posicioná-los estrategicamente dentro de suas integrações. Por exemplo:
No início de um pipeline acionado por evento para monitorar o payload de entrada.
Nas saídas de um para acompanhar o "caminho" que a integração segue.
Como o primeiro conector nos subfluxos onProcess e onException para rastrear o subprocesso pelo qual a execução está passando.
Antes de fazer chamadas externas, para rastrear as informações sendo enviadas na requisição.
A ilustração mostra o conector Log em cada caminho após um Choice.
A ilustração mostra o conector Log antes de uma requisição POST.
Atribua um nome descritivo (step name) ao conector.
Se o conector vier após um , o nomeie de acordo com o "caminho" específico ao qual ele está conectado.
Escolha o nível de log apropriado (Info, Error ou Warning), pois ele aparecerá nos logs da área de Monitor.
Use o conector Log com cautela dentro de conectores de loop (por exemplo, , Stream) para evitar um volume excessivo de logs, que pode sobrecarregar a memória do pipeline.
Registre apenas dados relevantes para minimizar a exposição de informações sensíveis. Por exemplo: {{ message.id }}
em vez de {{ message.$ }}
.
Proteja informações sensíveis aplicando configurações de campo sensível para ofuscar esses campos no Monitor usando caracteres “***”. Isso pode ser configurado nas configurações do pipeline no Canvas ou por meio de uma para todo o realm.
A ilustração mostra a configuração do conector Log com os diferentes níveis de log disponíveis.
A ilustração acima mostra a configuração do pipeline com o campo de entrada Sensitive Field, especificando os campos que serão ofuscados na tela de Monitor.
Coloque o conector Validator V2 no pipeline no ponto em que você precisa verificar a estrutura de um dado específico.
Selecione a versão do Schema apropriada para o seu caso de uso ou ative a opção Detect Draft Version para detectar automaticamente a versão a partir do esquema fornecido.
No campo JSON Schema, insira o esquema JSON que será usado para validar o conteúdo JSON.
Se o conector validar com sucesso o conteúdo JSON, ele retornará o JSON configurado no parâmetro JSON Payload.
Em caso de erro, o conector retornará um atributo "success
": false e um objeto validation
” contendo os detalhes do erro.
A ilustração acima mostra uma resposta de erro do conector Validator V2, acionada quando o payload não atende aos critérios de verificação dos atributos exigidos.
Validar chamadas externas é crucial para garantir que as respostas sejam tratadas de forma adequada. Por exemplo, uma chamada REST com diferentes códigos de status, como 200 ou 500, pode exigir tratamentos distintos. Da mesma forma, uma chave de erro na resposta pode indicar a necessidade de um tratamento de erro específico. Garantir o roteamento correto do payload com base no tipo de resposta ajuda a evitar problemas no fluxo de integração.
Para conectores REST, SOAP e similares, entender o que verificar é apenas o primeiro passo — você também precisa saber como realizar essas verificações. Duas abordagens comuns são:
Verificações comuns incluem:
Verificar um atributo error no payload de resposta após realizar a requisição.
Verificar o código de status HTTP.
A ilustração mostra o conector Log para cada caminho após um Choice.
A ilustração mostra o conector Assert após uma chamada externa.
rowCount e updateCount: Certifique-se de que eles são diferentes de zero, dependendo da operação realizada.
Ao seguir estas melhores práticas, você estará no caminho certo para criar integrações eficientes, seguras e escaláveis. Implementar essas práticas em seus fluxos de trabalho aprimora a confiabilidade de seus pipelines, minimiza erros e, em última análise, melhora a escalabilidade de suas soluções.
Para alcançar conformidade de dados, você deve implementar a validação como parte do processo de integração. O conector é usado para aplicar a validação da estrutura de dados com base em um esquema JSON pré-definido. Esse conector deve ser posicionado estrategicamente no pipeline, geralmente após o recebimento dos dados e antes de qualquer chamada externa que exija uma estrutura de payload específica.
No campo JSON Payload, insira o conteúdo JSON que precisa ser validado (esse campo aceita funções com ).
Para ajudar na criação dos seus schemas, use a ferramenta .
Usando o conector : Este conector verifica se os dados recebidos atendem a condições específicas de validação. Se a verificação falhar, o pipeline aciona um erro, e a execução é interrompida.
Usando o conector : Em vez de interromper imediatamente o pipeline ao encontrar um erro, permite que você ramifique o fluxo e realize o tratamento de erro adequado antes de decidir se a execução deve ser interrompida ou continuada.
3. Conectores de banco de dados (, e similares): Para operações de banco de dados, valide a resposta verificando os seguintes atributos:
Ao usar o conector , o fluxo será interrompido se os dados não atenderem à condição de validação, e o pipeline marcará a execução com o status de ERRO no log.
Para situações em que você precisa parar o pipeline com uma mensagem de erro personalizada, use o conector . Ele permite definir uma mensagem de erro específica e retornar um código de status HTTP correspondente na resposta.
Você pode explorar mais possibilidades em nosso , ou visitar nosso para descobrir mais recursos e insights.
Se você tiver um feedback sobre este caso de uso ou sugestões para futuros artigos, adoraríamos ouvir você em nosso .