Faz o download de um arquivo via protocolo SFTP para o Totvs Application Server, utilizando uma autenticação por certificado (em formato PEM) podendo ser carregada pelo o AppServer através de uma configuração no INI conforme o exemplo abaixo:
[SFTP] PrivateKey=C:/Keys/MyUser/id_rsa PublicKey=C:/Keys/MyUser/id_rsa.pub
Caso o certificado, tenha sido gerada com uma senha, é necessário configurá-la no INI através da chave certpassword conforme o exemplo:
[SFTP] PrivateKey=C:/Keys/MyUser/id_rsa PublicKey=C:/Keys/MyUser/id_rsa.pub
Certpassword=minhaSenha123
Sintaxe
nResult := SFTPDwld2( < sFileName >, < sRemotePath >, < sServer >, < sUser > , [@cError] )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
sFileName | caractere | Nome do arquivo a ser criado pelo download. (**) | X | |
sRemotePath | caractere | Nome do arquivo – caminho completo – a ser baixado do servidor de SFTP | X | |
sServer | caractere | Endereço ( nome do host ou IP ) do servidor de SFTP | X | |
sUser | caractere | Nome do usuário do servidor SFTP | X | |
sError | caractere | Obtém por referência uma string contendo detalhes em caso de falha na execução da função | X |
(**) O nome do arquivo segue o padrão de arquivos a partir do ROOTPATH do ambiente em uso no Totvs Application Server.
Retorno
Nome | Tipo | Descrição |
---|---|---|
nResult | numérico | 0 = Sucesso | Quanquer retorno diferente de zero indica falha na operação |
Exemplos
Exemplo de implementação do download de arquivo utilizando autenticação por chave PEM previamente carregada no sistema por meio de um agente.
user function exemplo() Local nStatus, cErrorMSg := '' // O exemplo abaixo faz download do arquivo "meufile.txt", localizado no servidor de sftp "cloud1.dominio.com" // no caminho "/home/user/", criando o arquivo "meuarquivo.txt" na pasta "\downloads\" // a partir do RootPath do ambiente do TOTVS Application Server em uso . status := SFTPDwld2("meuarquivo.txt", "/home/user/meufile.txt", "cloud1.dominio.com", "user", @cErrorMsg) if (status != 0 ) Conout("Falha ao transferir : "+cErrorMsg) endif return
Abrangência
Função disponível, na linguagem TLPP, para build superior a 19.3.1.7.
IMPORTANTE: Utilizar preferencialmente na linguagem TLPP pois o suporte desta função no AdvPL está sendo descontinuado.