使用java上传本机s3中的文件

时间:2017-11-08 11:01:13

标签: java amazon-s3

我正在探索aws s3。哪个文件系统是针对s3存储桶实现的,什么是aws s3中使用的不同文件系统?我很可能对本机s3文件系统感兴趣。我需要使用java API将文件上传到本机s3文件系统。

1 个答案:

答案 0 :(得分:1)

虽然将AWS S3作为文件系统安装并非不可能,但最常用的方法是通过API。 AWS提供了非常好的SDK来使用AWS服务。这里有几个AWS S3 examples

public static Bucket getBucket(String bucket_name) {
    final AmazonS3 s3 = AmazonS3ClientBuilder.defaultClient();
    Bucket named_bucket = null;
    List<Bucket> buckets = s3.listBuckets();
    for (Bucket b : buckets) {
        if (b.getName().equals(bucket_name)) {
            named_bucket = b;
        }
    }
    return named_bucket;
}

public static Bucket createBucket(String bucket_name) {
    final AmazonS3 s3 = AmazonS3ClientBuilder.defaultClient();
    Bucket b = null;
    if (s3.doesBucketExist(bucket_name)) {
        System.out.format("Bucket %s already exists.\n", bucket_name);
        b = getBucket(bucket_name);
    } else {
        try {
            b = s3.createBucket(bucket_name);
        } catch (AmazonS3Exception e) {
            System.err.println(e.getErrorMessage());
        }
    }
    return b;
}

放置一个物体:

    final AmazonS3 s3 = AmazonS3ClientBuilder.defaultClient();
    try {
        s3.putObject(bucket_name, key_name, file_path);
    } catch (AmazonServiceException e) {
        System.err.println(e.getErrorMessage());
        System.exit(1);
    }
    System.out.println("Done!");