Conectores
Dados e Armazenamento
SFTP
17 min
objetivo o conector sftp ( secure file transfer protocol ) permite a transferência segura de arquivos entre sistemas e servidores remotos com ele, é possível realizar operações como upload ( envio ) e download ( recebimento ) de arquivos através de uma conexão criptografada, assegurando a proteção dos dados durante a transferência criando uma conexão antes de usar o conector sftp, é necessária a criação de uma conexão vamos lá clique em propriedades em selecionar uma conexão clique em criar nova conexão vamos preencher os dados da conexão com dados de sua conexão preenchidos, clique em salvar conexão agora você já pode montar seus fluxos utilizando o conector sftp utilizando o conector sftp com uma conexão sftp configurada, vamos criar um novo fluxo, quer irá criar um arquivo json, em sftp a partir de uma requisição http selecionamos o modo canvas, e com editor canvas aberto, vamos arrastar dois conectores, sendo um http e outro sftp, na sequência faremos a linkage como à imagem abaixo vamos a configuração do primeiro passo 1 ) clique no connector para configurar 2 ) aba parametrização, no caso especifico usaremos o método get, também utilizaremos uma url random, que nos gera dados aleatórios 3 ) aba propriedades, vamos informar apenas o nome do passo, já que não temos autenticação à fazer configurando segundo passo com sftp 1 ) clique no connector para configurar 3 ) aba parametrização 4 ) selecionamos a operação desejada, no caso vamos criar um arquivo para salvar o payload da requisição http 5 ) caminho do arquivo aqui é o caminho relativo onde queremos salvar (pode ser "/" ou qualquer outro, desde que exista no servidor e o usuário tenha permissão de escrita) 6 ) nome do arquivo aqui informaremos o nome que pode ser fixo, ou como no caso, usaremos o resultado da requisição http, para criar um arquivo com nome dinâmico, baseado no valor de um campo "uid", esse campo nos retorna um uuid, obs é necessário o uso da função "get' para mais detalhes, visite o link 7 ) conteúdo do aquivo aqui também temos as mesmas possibilidades do campo nome, e mais a de salvar todo o payload da requisição http, ou de qualquer outro passo anterior, no campo nosso retorno é um json, e precisaremos usar uma função "getjsonescaped" que irá retornar json qus erá salvo j no arquivo 8 ) aba propriedades, vamos informar o nome do passo e a conexão que será utilizada 9 ) executaremos um teste de todos fluxo 10 ) com teste finalizado, podemos analisar os detalhes nesse caso, nossa requisição http nos retornou o payload a seguir saída http { "id" 53, "uid" "d774bc23 9b40 406f 9d38 4fd40ca66b70", // campo que usamos para nomear o arquivo "password" "wecztfc46b", "first name" "kevin", "last name" "lynch", "username" "kevin lynch", "email" "kevin lynch\@email com", "avatar" "https //robohash org/fugitveritatisrerum png?size=300x300\u0026set=set1", "gender" "polygender", "phone number" "+251 1 204 707 6787", "social insurance number" "948033170", "date of birth" "2004 03 13", "employment" { "title" "retail facilitator", "key skill" "communication" }, "address" { "city" "samton", "street name" "okuneva meadows", "street address" "5699 bechtelar divide", "zip code" "37772 5477", "state" "colorado", "country" "united states", "coordinates" { "lat" 72 71042078010802, "lng" 69 74851376761379 } }, "credit card" { "cc number" "4233 8980 1719 5205" }, "subscription" { "plan" "starter", "status" "blocked", "payment method" "bitcoins", "term" "full subscription" } } entrada sftp { "operation" "create", "file content" "{\\"address\\" {\\"city\\" \\"samton\\",\\"coordinates\\" {\\"lat\\" 72 71042078010802,\\"lng\\" 69 74851376761379},\\"country\\" \\"united states\\",\\"state\\" \\"colorado\\",\\"street address\\" \\"5699 bechtelar divide\\",\\"street name\\" \\"okuneva meadows\\",\\"zip code\\" \\"37772 5477\\"},\\"avatar\\" \\"https //robohash org/fugitveritatisrerum png?size=300x300\\\u0026set=set1\\",\\"credit card\\" {\\"cc number\\" \\"4233 8980 1719 5205\\"},\\"date of birth\\" \\"2004 03 13\\",\\"email\\" \\"kevin lynch\@email com\\",\\"employment\\" {\\"key skill\\" \\"communication\\",\\"title\\" \\"retail facilitator\\"},\\"first name\\" \\"kevin\\",\\"gender\\" \\"polygender\\",\\"id\\" 53,\\"last name\\" \\"lynch\\",\\"password\\" \\"wecztfc46b\\",\\"phone number\\" \\"+251 1 204 707 6787\\",\\"social insurance number\\" \\"948033170\\",\\"subscription\\" {\\"payment method\\" \\"bitcoins\\",\\"plan\\" \\"starter\\",\\"status\\" \\"blocked\\",\\"term\\" \\"full subscription\\"},\\"uid\\" \\"d774bc23 9b40 406f 9d38 4fd40ca66b70\\",\\"username\\" \\"kevin lynch\\"}", "file name" "d774bc23 9b40 406f 9d38 4fd40ca66b70 json", // veja como ficou o nome do arquivo "file path" "/upload" } saída sftp (esse retorno muda de acordo com a operação) success operação createfilefromtemp sftp descrição a operação criar um arquivo da pasta temporária do conector sftp permite enviar arquivos para um servidor sftp a partir de arquivos armazenados na pasta temporária do sistema esta operação é especialmente útil quando você precisa processar um arquivo em etapas anteriores do fluxo (é comumente utilizada em conjunto com outros conectores, como o conector csv que mantém o arquivo na pasta temporária durante a execução do fluxo) e depois enviá lo via sftp como funciona leitura do arquivo temporário o conector lê o arquivo da pasta temporária carregamento do conteúdo o conteúdo do arquivo é carregado na memória envio via sftp o arquivo é enviado para o servidor sftp no caminho especificado parâmetros de entrada a operação criar um arquivo da pasta temporária requer os seguintes parâmetros campos obrigatórios campo tipo descrição nome do arquivo de saída string nome do arquivo na pasta temporária que será enviado caminho do diretório string caminho de destino no servidor sftp onde o arquivo será salvo config new file path string novo caminho para mover arquivo após envio exemplo de json de saída resposta de sucesso { "message" "arquivo csv relatorio vendas csv enviado com sucesso via sftp " } resposta de erro arquivo não encontrado { "code" "sftp csv read error", "message" "erro ao ler arquivo csv temporário relatorio vendas csv no such file or directory" } resposta de erro falha no envio sftp { "code" "sftp send csv error", "message" "failed to upload file permission denied" } resposta de erro conexão sftp { "code" "sftp connection error", "message" "failed to connect to sftp server dial tcp 192 168 1 200 22 connection refused" }