2017-11-08 18 views
0

aws s3を調べています.3つのバケットにはどのファイルシステムが実装されていますか?またaws s3で使用されるさまざまなファイルシステムは何ですか?おそらく私はネイティブs3ファイルシステムに興味があります。java APIを使用してネイティブs3ファイルシステムにファイルをアップロードする必要があります。Javaを使用してネイティブs3でファイルをアップロードする

+0

は、なぜあなたは気にしないS3が実装されているかをここでAWS S3 examplesのカップルですか?あなたはAPIを持っています - それを使用してください。 – alfasin

答えて

1

AWS S3をファイルシステムとしてマウントすることは不可能ではありませんが、最も慣用的な方法はAPI経由です。 AWSは、AWSサービスを操作するための非常に素晴らしいSDKを提供します。

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!"); 
関連する問題