微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用一个talend作业基于ftphost名称连接到多个ftp站点

如何解决如何使用一个talend作业基于ftphost名称连接到多个ftp站点

我正在尝试连接到多个ftp站点,但只有ftp主机名(IP地址)在不同的ftp站点之间有所不同,并且用户名,密码,端口,目录都相同,我可以在其中下载和阅读/检索最新文件

我有一个现有流程,它连接到一个特定的ftp站点并进行操作,现在我想使用context变量添加多个ftp站点,并作为同一流的一部分调用不同ftp站点的多个流,仅考虑到主机名会有所不同,其他所有内容都完全相同。

我应该使用trunjob组件还是最简单的方法

enter image description here

解决方法

您是否考虑过使用SFTP? 这是使用JSch库的代码段,您可以修改它以用于多个连接:

private static final String SFTP_SERVER_URL = "server.com";
private static final String SFTP_SERVER_USERNAME = "user";
private static final String SFTP_SERVER_PASSWORD = "pass";
private static final int SFTP_SERVER_PORT = port;
private final static String LOCAL_DOWNLOAD_PATH = "downloads/";

private static ChannelSftp setupSFTP() {
    ChannelSftp channel = null;
    try {
        JSch jsch = new JSch();
        JSch.setConfig("StrictHostKeyChecking","no");
        Session jschSession = jsch.getSession(SFTP_SERVER_USERNAME,SFTP_SERVER_URL);
        jschSession.setPassword(SFTP_SERVER_PASSWORD);
        jschSession.setPort(SFTP_SERVER_PORT);
        jschSession.connect();
        channel = (ChannelSftp) jschSession.openChannel("sftp");
    } catch (JSchException e) {
        e.printStackTrace();
    }
    return channel;
}

public static void downloadFile(String path,String fileName) {
    try {
        ChannelSftp channelSftp = setupSFTP();
        channelSftp.connect();

        // Download file and close connection
        channelSftp.get(path,LOCAL_DOWNLOAD_PATH + fileName);
        channelSftp.exit();
    } catch (SftpException e) {
        e.printStackTrace();
    } catch (JSchException e) {
        e.printStackTrace();
    }
}

public static void uploadFile(String localPath,String remotePath) {
    try {
        ChannelSftp channelSftp = setupSFTP();
        channelSftp.connect();

        // Upload file and close connection
        channelSftp.put(localPath,remotePath);
        channelSftp.exit();
    } catch (SftpException e) {
        e.printStackTrace();
    } catch (JSchException e) {
        e.printStackTrace();
    }
}

您可以具有多种设置功能,每个服务器都有一个。

链接:http://www.jcraft.com/jsch/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。