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étodoParâmetrosTipo de retornoDescriçãocreateClient(conexãoSftp)sftpConnection: cadeia de caracteresNome da sua conexão SFTPObjetoCria 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 caracteresLê um arquivo linha por linhacleanUp()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 caracteresConteúdo a ser gravado em um arquivoGrava 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.