Definir e configurar um SFTP
Você pode criar um cliente para se conectar ao servidor Secure File Transfer Protocol (SFTP) e executar várias operações nos arquivos. Este artigo explica como adicionar uma conexão SFTP à fontes de dados em nuvem personalizadas (CCDS) e como incluir a conexão SFTP no script. Para obter informações sobre como criptografar e descriptografar arquivos, consulte Definir criptografia PGP.
Antes de começar
- Não sabe o que é uma fonte de dados em nuvem personalizada? Consulte Conceito: visão geral de fonte de dados em nuvem personalizada e Definir fonte de dados em nuvem personalizada (CCDS)
- Permissões obrigatórias:Desenvolvedor de integraçãoemAdministração > Conjunto de permissões
Navegação
No menu de navegação, acesse . Definir e configurar um SFTP
Criar uma nova conexão SFTP
- Crie umaconexão SFTPno painelem Design de integrações.Credenciais
- Informe um nome para a conexão e clique emCriar.
- Insira a expressão do host no formulário de conexão. As conexões usam a porta 22 se você não as especifica. Oferecemos suporte às seguintes portas:
- 22
- 1224
- 2222
- 5022
- 5031
- 5122
- 10022
- 20022
- Escolha o método de autenticação.
- Para autenticação com chave privada, nenhuma senha é necessária.
- Para autenticação básica, insira uma senha.
- Para autenticação com chave privada, envie a chave pública ao administrador do servidor cliente para instalação.
- SelecioneTestar conexãopara a primeira tentativa.
Para chave privada ou autenticação básica:
- Quando você selecionaTestar conexãopela primeira vez, o campoImpressão digitalé preenchido. Isso habilita a verificação do servidor para conexões futuras. O administrador do servidor cliente consegue verificar aImpressão digital, confirmando que você está conectado ao servidor correto.
- Depois de executar o processoTestar conexãopela primeira vez, clique na conexão SFTP no painelCredenciaispara recarregar a conexão e visualizar o campo de impressão digital.
- Quando você selecionaTestar conexãoou usa a conexão SFTP em um script, a impressão digital do servidor deve corresponder. Caso contrário, a conexão falha.
- Selecione sua fonte de dados em nuvem personalizada CCDS)
- Selecione uma fonte de dados em nuvem personalizada ou crie umafonte de dadosem nuvem personalizada no Design de integrações.
- Adicionar a conexão SFTP à fonte de dados em nuvem personalizada
- Selecione a guia Configurações do designer da fonte de dados em nuvem personalizada.
- Arraste e solte o parâmetroConexão SFTPdeConfigurações adicionaispara o painelComponente de configuração.
- Configure a conexão SFTP na guia Configurações do designer. O nome da configuração é o identificador que você usará no script. Por exemplo, 'sftpserver'.
- Incluir a conexão SFTP no script
- Crie um cliente usando ai.sftp.createClient() e informe o nome da configuração do SFTP. Por exemplo:const client = ai.sftp.createClient('mysftp').Depois de se conectar com êxito, um objeto cliente é criado.
- Teste a conexão no painelAçõespara executar o script. Você pode ver os resultados do teste do script emRegistros, no painelAções.
Métodos SFTP para carregamento e download de arquivos
Use os métodos a seguir para criar um cliente, carregar e baixar arquivos criptografados em um servidor SFTP e criptografá-los ou descriptografá-los com o PGP. Consulte ai.sftp.
- createClient(conexãoSftp)client = ai.sftp.createClient('mysftp');
- uploadFile(autor, nomeArquivoCarregado)client.uploadFile(writer,'./archive/datasample.csv.asc');
- downloadFile(nomeArquivo)client.downloadFile('./archive/datasample.csv.asc');
- Desconectar o clienteclient.disconnect();
- Liberar os recursos do sistema consumidos pelo objeto que lê o arquivo.reader.cleanUp();
Exemplo para conexão e download de arquivos de um servidor SFTP
function testConnection(context) { let client; try { client = ai.sftp.createClient('mysftp'); } catch(e) { ai.log.logError('An error occurred connecting to the server: ' + e); return false; } finally { if (client) client.disconnect(); } return true; } function importData(context) { const rowset = context.getRowset(); const client = ai.sftp.createClient('mysftp'); const reader = client.downloadFile('./someData.csv'); try { reader.readLine(); let line = reader.readLine(); while (line) { let cells = line.split(','); rowset.addRow(cells); line = reader.readLine(); } } catch(e) { ai.log.logError('An error occurred downloading the file: ' + e); } finally { client.disconnect(); reader.cleanUp(); } }