Ir para o conteúdo principal
Adaptive Planning
Última atualização: 2023-06-23
ai.sftp

ai.sftp

O artigo descreve o namespace ai.sftp e os métodos associados para criar um cliente, executar operações básicas de cliente, carregar e baixar arquivos com os objetos Leitor e Gravador de arquivo.
O namespace ai.sftp permite que um usuário carregue e baixe arquivos em um servidor SFTP. Também permite carregar e baixar arquivos criptografados, permitindo criptografá-los e descriptografá-los com o PGP.

Criar um cliente

ai.sftp.createClient
Você pode criar uma instância de SFTP com o método createClient() e iniciar todas as operações com o servidor SFTP. Essa função usa o nome da cadeia de caracteres de conexão SFTP configurada para o script como um parâmetro e retorna um objeto de instância de cliente.
Método
Parâmetros
Tipo de retorno
Descrição
createClient(conexãoSftp)
sftpConnection: cadeia de caracteres
Nome da sua conexão SFTP
Objeto
Cria um cliente SFTP
Uso
const client = ai.sftp.createClient('mySftpConnectionSetting');

Operações básicas do cliente

Você pode executar as seguintes operações no objeto da instância do cliente retornado do método ai.createClient.
Método
Parâmetros
Tipo de retorno
Descrição
isConnected()
Booliano
Retorna Verdadeiro se o cliente SFTP está conectado; Caso contrário, é falso.
disconnect()
Faz logout e fecha a sessão do cliente com o servidor. Quaisquer outras operações chamadas no cliente resultarão no lançamento de uma exceção.
delete(fileName)
fileName: nome da cadeia de caracteres do arquivo a ser excluído
Exclui o arquivo especificado
rename (renameFrom, renameTo)
renomearFrom: cadeia de caracteres
Nome original do arquivo
renameTo : String
Novo nome do arquivo
Renomeia o arquivo especificado
createDirectory(directoryName)
Nome: Cadeia de caracteres
Caminho relativo do novo diretório
Cria um diretório no servidor.
changeDirectory(newLocation)
newLocation: cadeia de caracteres
Caminho relativo do novo local no servidor
Cadeia de caracteres
Altera o diretório de trabalho atual no servidor. Esta operação retornará o diretório de trabalho atual
getCurrentDirectory()
Cadeia de caracteres
Obter o diretório de trabalho atual
getFileSizeBytes(fileName)
fileName: cadeia de caracteres Nome do arquivo para o tamanho do arquivo buscado
Número
Retorna o tamanho do arquivo especificado em bytes
listCurrentDirectory()
Coleção
Retorna uma lista de todos os arquivos e diretórios no diretório de trabalho atual.

Baixar um arquivo

Use os seguintes métodos de cliente para baixar arquivos do servidor.
downloadFile(fileName)
fileName: cadeia de caracteres
Nome do arquivo a ser baixado
Objeto
Faz o download do arquivo e retorna um leitor para ler o arquivo linha por linha.
downloadEncryptedFile(fileName, encryptionSettingName)
nomeArquivo: cadeia de caracteres
Caminho relativo do arquivo a ser baixado
criptografiaSettingName: cadeia de caracteres
Nome da sua configuração de criptografia na área
Credenciais
em Design de integrações.
Objeto
Baixa o arquivo, descriptografa-o usando a configuração de criptografia especificada e retorna um leitor para ler o arquivo linha por linha.
downloadAndVerifyEncryptedFile(fileName, encryptionSettingName)
nomeArquivo: cadeia de caracteres
Caminho relativo do arquivo a ser baixado
criptografiaSettingName: cadeia de caracteres
Nome da sua configuração de criptografia na área
Credenciais
em Design de integrações.
Objeto
Baixa o arquivo, verifica-o e descriptografa-o usando a configuração de criptografia especificada e retorna um leitor que lê o arquivo linha por linha
Métodos do leitor de arquivos
Você pode invocar esses métodos no objeto de leitura retornado do método downloadFiles().
readLine()
Cadeia de caracteres
Lê um arquivo linha por linha
cleanUp()
Liberar os recursos do sistema consumidos pelo objeto que lê o arquivo.
FileReader não pode ser usado após a execução do método limpeza().
Os recursos são limpos automaticamente no final do script.
Exemplo
//Pass the relative filepath and the name of your encryption setting const reader = client.downloadEncryptedFile('./archive/datasample.csv.asc', 'mypgp'); let line = reader.readLine() while(line !== null){ //Process the line line = reader.readLine() }

Carregar um arquivo

Para carregar um arquivo, deve ser criado um gerador no qual as linhas podem ser gravadas. O objeto Writer é obtido do namespace ai.sftp. Depois de criado, o arquivo pode ser carregado no cliente usando um dos métodos a seguir.
uploadArquivo(escritor, uploadedFileName)
Writer: Writer
Obtido do método ai.sftp.createFileWriter()
uploadedFileName: cadeia de caracteres
Nome do arquivo que você está carregando
Carrega o arquivo especificado no servidor.
uploadEncryptedFile (escritor, uploadedFileName, criptografiaSettingName )
Writer: Writer
Obtido do método ai.sftp.createFileWriter()
uploadedFileName: cadeia de caracteres
Nome do arquivo que você está carregando
criptografiaSettingName: cadeia de caracteres
Nome da sua configuração de criptografia
Criptografa o arquivo usando a configuração de criptografia especificada (encontrada na área
Credenciais
em Design de integrações) e o carrega no servidor. O nome e o local do arquivo são especificados pelo argumento uploadedFileName.
uploadEncryptedAndSignedFile(writer, uploadedFileName, encryptionSettingName)
Writer: Writer
Obtido do método ai.sftp.createFileWriter()
uploadedFileName: cadeia de caracteres
Nome do arquivo que você está carregando
criptografiaSettingName: cadeia de caracteres
Nome da sua configuração de criptografia
Criptografa e assina o arquivo usando a configuração de criptografia especificada (encontrada na área
Credenciais
em Design de integrações) e o carrega no servidor. O nome e o local do arquivo são especificados pelo argumento uploadedFileName.
Métodos do gerador de arquivos
Você pode invocar os métodos a seguir no objeto Leitor que foi retornado do download de arquivos.
writeLine(val)
valor: cadeia de caracteres
Conteúdo a ser gravado em um arquivo
Grava conteúdo em um arquivo, linha por linha.
cleanUp()
Liberar os recursos do sistema consumidos pelo objeto Gerador de arquivos.
O Writer não pode ser usado após a execução do método limpeza().
Os recursos são limpos automaticamente no final do script.
Exemplo
const client = ai.sftp.createClient('mySftpConnectionSetting'); ​ //Invoke the File Writer method const writer = ai.sftp.createFileWriter(); ​ //Write content to the writer variable writer.writeLine('Here is a line to upload'); client.uploadFile(writer, 'myFileToShare.txt'); writer.cleanUp();

Observações sobre o AWS Transfer for SFTP

Durante a conexão com um servidor AWS S3 via SFTP, há algumas diferenças de comportamento com a organização de arquivos AWS S3 em comparação com os servidores Open SSH.
  • Criardiretório
    • O AWS S3 permite que você especifique o caminho de novos diretórios. Por exemplo, client.createDiretório('./parent/filho'); O criará o diretório pai. No entanto, se o diretório pai já existe e você tenta criar um diretório filho, uma exceção é lançada.