【发布时间】:2022-01-23 11:16:41
【问题描述】:
我能够将 Java 连接到 AWS S3,并且能够执行基本操作,例如列出存储桶。我需要一种无需下载即可读取 CSV 文件的方法。我在这里附上我当前的代码。
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3Client;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.Bucket;
import com.amazonaws.services.s3.model.CannedAccessControlList;
import com.amazonaws.services.s3.model.ObjectMetadata;
import com.amazonaws.services.s3.model.PutObjectRequest;
import com.amazonaws.services.s3.model.S3ObjectSummary;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Properties;
public class test {
public static void main(String args[])throws IOException
{
AWSCredentials credentials =new BasicAWSCredentials("----","----");
AmazonS3 s3client = AmazonS3ClientBuilder
.standard()
.withCredentials(new AWSStaticCredentialsProvider(credentials))
.withRegion(Regions.US_EAST_2)
.build();
List<Bucket> buckets = s3client.listBuckets();
for(Bucket bucket : buckets) {
System.out.println(bucket.getName());
}
}
}
【问题讨论】:
-
我认为你做不到。 S3 只是一个存储服务——你可以从 S3 上传、下载或删除对象——但不确定是否有任何我不知道的方法。
-
“下载”是什么意思?您将需要下载文件内容以在本地处理它,但如果您还指“在处理之前将其保存在(临时)文件中”,那么只要您正在做的任何事情都接受输入流(或读者)。
标签: java amazon-web-services amazon-s3