Ir para o conteúdo principal
Adaptive Planning
Última atualização: 2023-06-23
Definir e configurar um SFTP

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

Navegação

Compass.png No menu de navegação, acesse
Integração
Design de integrações
.

Definir e configurar um SFTP

Criar uma nova conexão SFTP

  1. Crie uma
    conexão SFTP
    no painel
    Credenciais
    em Design de integrações.
  2. Informe um nome para a conexão e clique em
    Criar
    .
  3. 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
  4. 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.
  5. Para autenticação com chave privada, envie a chave pública ao administrador do servidor cliente para instalação.
  6. Selecione
    Testar conexão
    para a primeira tentativa.
Para chave privada ou autenticação básica:
  • Quando você seleciona
    Testar conexão
    pela primeira vez, o campo
    Impressão digital
    é preenchido. Isso habilita a verificação do servidor para conexões futuras. O administrador do servidor cliente consegue verificar a
    Impressão digital
    , confirmando que você está conectado ao servidor correto.
  • Depois de executar o processo
    Testar conexão
    pela primeira vez, clique na conexão SFTP no painel
    Credenciais
    para recarregar a conexão e visualizar o campo de impressão digital.
  • Quando você seleciona
    Testar conexão
    ou 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 uma
fonte de dados
em nuvem personalizada no Design de integrações.
Adicionar a conexão SFTP à fonte de dados em nuvem personalizada
  1. Selecione a guia Configurações do designer da fonte de dados em nuvem personalizada.
  2. Arraste e solte o parâmetro
    Conexão SFTP
    de
    Configurações adicionais
    para o painel
    Componente de configuração
    .
  3. 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
  1. 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.
  2. Teste a conexão no painel
    Ações
    para executar o script. Você pode ver os resultados do teste do script em
    Registros
    , no painel
    Açõ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 cliente
    client.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(); } }