Guias
...
Workflow
Descrição de Blocos
Execução de Código
8min
introdução o nó de código suporta a execução de código python/nodejs para realizar transformações de dados dentro de um workflow ele pode simplificar seu workflow e é adequado para cenários como operações aritméticas, transformações de json, processamento de texto, e mais este nó melhora significativamente a flexibilidade para desenvolvedores, permitindo que incorporem scripts personalizados em python ou javascript no workflow e manipulem variáveis de maneiras que os nós predefinidos não podem alcançar por meio das opções de configuração, você pode especificar as variáveis de entrada e saída necessárias e escrever o código correspondente para execução configuração se você precisar usar variáveis de outros nós no nó de código, deve definir os nomes das variáveis nas variáveis de entrada e referenciar essas variáveis você pode consultar as referências de variáveis cenários de uso usando o nó de código, você pode realizar as seguintes operações comuns processamento de dados estruturados em workflows, muitas vezes é necessário lidar com processamento de dados não estruturados, como análise, extração e transformação de strings json um exemplo típico é o processamento de dados de um nó http em estruturas de retorno comuns de api, os dados podem estar aninhados em múltiplas camadas de objetos json, e você precisa extrair certos campos o nó de código pode ajudá lo a realizar essas operações aqui está um exemplo simples que extrai o campo data name de uma string json retornada por um nó http def main(http response str) > str import json data = json loads(http response) return { \# lembre se de declarar 'result' nas variáveis de saída 'result' data\['data']\['name'] } cálculos matemáticos quando você precisa realizar cálculos matemáticos complexos em um workflow, também pode usar o nó de código por exemplo, calcular uma fórmula matemática complexa ou realizar alguma análise estatística sobre os dados aqui está um exemplo simples que calcula a variância de um array def main(x list) > float return { \# lembre se de declarar 'result' nas variáveis de saída 'result' sum(\[(i sum(x) / len(x)) 2 for i in x]) / len(x) } concatenação de dados às vezes, você pode precisar concatenar múltiplas fontes de dados, como várias recuperações de conhecimento, pesquisas de dados, chamadas de api, etc o nó de código pode ajudá lo a integrar essas fontes de dados aqui está um exemplo simples que mescla dados de duas bases de conhecimento def main(knowledge1 list, knowledge2 list) > list return { \# lembre se de declarar 'result' nas variáveis de saída 'result' knowledge1 + knowledge2 } implementação local se você é um usuário de implementação local, precisa iniciar um serviço sandbox para garantir que o código malicioso não seja executado este serviço requer o uso de docker você pode encontrar informações específicas sobre o serviço sandbox aqui você também pode iniciar o serviço diretamente via docker compose docker compose f docker compose middleware yaml up d limitações tanto os ambientes de execução python quanto javascript são estritamente isolados (em sandbox) para garantir a segurança isso significa que os desenvolvedores não podem usar funções que consumam grandes quantidades de recursos do sistema ou possam representar riscos à segurança, como acesso direto ao sistema de arquivos, realizar requisições de rede ou executar comandos em nível de sistema operacional essas limitações garantem a execução segura do código enquanto evitam o consumo excessivo de recursos do sistema