Histórico da Página
Pagetitle | ||||
---|---|---|---|---|
|
Faz o download de um arquivo via protocolo SFTP sem utilizar a senha diretamente mas sim uma chave PEM existente previamente carregada no sistema por meio de um agente.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
Bloco de código | ||
---|---|---|
| ||
nResult := SFTPDwld2( < sFileName >, < sRemotePath >, < sServer >, < sUser > , [@cError] ) |
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
sFileName | caractere | Caminho completo Nome do arquivo a ser salvo no seu computadorcriado pelo download. (**) | X | |
sRemotePath | caractere | Caminho completo Nome do arquivo – caminho completo – a ser baixado do servidor remotode SFTP | X | |
sServer | caractere | Endereço ( nome do servidor remotohost 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 |
---|---|---|
aResult | vetor | 0 quando tiver SUCESSO, -1 ao FALHAR a requisição, -2 ao FALHAR em abrir o arquivo |
numérico | 0 | Sucesso na operação |
numérico | -1111 | Caminho de arquivo inválido |
numérico | -1112 | Falha ao abrir o arquivo |
numérico | 67 | Servidor remoto rejeitou a conexão |
numérico | 79 | Erro na camada SSH |
numérico | 82 | O servidor rejeitou a chave pública fornecida |
numérico | 83 | Chave de host inválida |
numérico | 84 | Nome de usuário ou senha inválidos |
numérico | 85 | Falha ao inicializar o SSH |
numérico | 86 | Erro ao ler o arquivo local para upload SFTP |
numérico | 87 | Erro SSH geral |
numérico | 88 | Falha ao carregar uma biblioteca libcurve necessária |
numérico | 89 | Erro com o arquivo de hosts conhecidos |
numérico | 90 | Erro do agente SSH |
numérico | 91 | A chave pública do host remoto não foi encontrada |
numérico | 92 | A conexão com o host remoto foi negada |
numérico | 93 | Ocorreu um erro de protocolo SSH |
numérico | 94 | Caminho de arquivo inválido para operação SFTP |
numérico | 96 | Autoridade de certificação desconhecida no SSH |
numérico | 101 | O acesso ao recurso remoto foi negado |
numérico | 102 | A chave pública fornecida para autenticação não foi verificada |
Exemplos
Exemplo de implementação do download de arquivo utilizando autenticação por chave PEM previamente carregada no sistema por meio de um agente. Ao testar esta função favor apontar para um servidor com o SSHD presente e utilizar um nome de usuário válidos.
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Useruser Functionfunction downloadSFTPexemplo2() 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 (!statusstatus != 0 ) Conout("SucessoFalha ao transferir :D "+cErrorMsg) endif Returnreturn |
Abrangência
Função disponível, na linguagem TLPP, para build superior a 19.3.1.7.
...