Bucket 接口

List Buckets

兼容说明

  • 接口和 S3 兼容

代码示例

Java:

AWSCredentials credentials= new BasicAWSCredentials("ak","sk");
AmazonS3 s3Client = new AmazonS3Client(credentials);
s3Client.setEndpoint("http://xxx.com");//指定为nos的endpoint

List<Bucket> listBuckets = s3Client.listBuckets();
for(Bucket bucket : listBuckets){
    System.out.println(bucket.getOwner() + "-->" + bucket.getName() + "-->" +  bucket.getCreationDate());
}

Put Bucket

兼容说明

  • 注意约束说明中的说明即可

代码示例

Java:

s3Client.createBucket("testbucket");

Put Bucket Acl

兼容说明

  • 注意约束说明中的说明即可

代码示例

Java:

s3Client.setBucketAcl(bucketName,CannedAccessControlList.PublicRead);

Get Bucket Acl

兼容说明

  • 因为 NOS 的权限不能赋给其他的用户,所以返回的 Body 中只有一条记录
  • 在返回值中,Permission 的取值有两种类型,Read(public-read),Write(private)

代码示例

Java:

AccessControlList accessControlList = s3Client.getBucketAcl(bucketName);
System.out.println("owner : " +  accessControlList.getOwner().getId() + " : " + accessControlList.getOwner().getDisplayName());
for(Grant grant : accessControlList.getGrantsAsList()){//由于不支持授权给其他用户,所以 List 中只存在一个 Grant
    System.out.println(grant.getGrantee().getIdentifier() + " : " +  grant.getPermission() + " : " + grant.getGrantee().getTypeIdentifier());
}

Delete Bucket

兼容说明

  • 接口和 S3 兼容

代码示例

Java:

s3Client.deleteBucket(testBucketName);

Get Bucket Location

兼容说明

  • 接口和 S3 兼容

代码示例

Java:

    System.out.println(s3Client.getBucketLocation(testBucketName));