首页 > 解决方案 > 如何在 AWS 中向 S3 存储桶隐蔽上传功能

问题描述

目前我们正在连接一个文件共享路径以上传文件。现在我需要将此文件共享路径更改为 s3 存储桶。我需要连接 S3 存储桶以上传文件。这是示例代码

import java.util.Vector;
import com.jcraft.jsch.*;


public class JSCH_FTP_Connection {

    public static void main(String[] args) throws JSchException, SftpException {

        Session session = null;
        JSch jsch = new JSch();
        ChannelSftp channelSftp = null;
         Channel     channel = null;
        String remoteDirectory = "/test";
        String getFtpHost="http://localhost:";
        String getFtpUser="test";
        String getFtpPasswd="test";
        session = jsch.getSession(getFtpUser,getFtpHost);
        java.util.Properties config = new java.util.Properties();

        config.put("StrictHostKeyChecking", "no");
        session.setPassword(getFtpPasswd);
        session.setConfig("cipher.s2c", "aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,aes192-cbc,aes256-cbc,aes256-ctr");
        session.setConfig(config);

        session.connect();
        channel = session.openChannel("sftp");
        channel.connect();
        channelSftp = (ChannelSftp)channel;
        channelSftp.cd(remoteDirectory);
        Vector filelist = channelSftp.ls(remoteDirectory);
        for(int i=0; i<filelist.size();i++){
            LsEntry entry = (LsEntry) filelist.get(i);
            System.out.println(entry.getFilename());
        }

    }

}

我正在使用 jcsh.jar 来上传文件。

标签: amazon-s3file-upload

解决方案


AWS sdk 可用于 JAVA 或 Scala 与 s3 交互。有关更多详细信息,请参阅以下链接: https ://aws.amazon.com/sdk-for-java/ https://docs.aws.amazon.com/AmazonS3/latest/dev/UploadObjSingleOpJava.html

对于 python,您可以使用 boto3 库。


推荐阅读