Search in sources :

Example 1 with Owner

use of com.qcloud.cos.model.Owner in project cos-java-sdk-v5 by tencentyun.

the class SetGetBucketAclDemo method setGetBucketAclDemo.

public static void setGetBucketAclDemo() {
    // 1 初始化用户身份信息(secretId, secretKey)
    COSCredentials cred = new BasicCOSCredentials("AKIDXXXXXXXX", "1A2Z3YYYYYYYYYY");
    // 2 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
    ClientConfig clientConfig = new ClientConfig(new Region("ap-shanghai"));
    // 3 生成cos客户端
    COSClient cosclient = new COSClient(cred, clientConfig);
    // bucket名需包含appid
    String bucketName = "mybucket-1251668577";
    AccessControlList aclGet = cosclient.getBucketAcl(bucketName);
    System.out.println("bucket acl:" + aclGet.getOwner());
    System.out.println("bucket acl:" + aclGet.getCannedAccessControl());
    for (Grant grant : aclGet.getGrantsAsList()) {
        System.out.println(grant.getGrantee().getIdentifier());
        System.out.println(grant.getGrantee().getTypeIdentifier());
        System.out.println(grant.getPermission());
    }
    // public-read-write bucket acl
    // cosclient.setBucketAcl(bucketName, CannedAccessControlList.PublicReadWrite);
    // public-read bucket acl
    // cosclient.setBucketAcl(bucketName, CannedAccessControlList.PublicRead);
    // private bucket acl
    AccessControlList aclSet = new AccessControlList();
    Owner owner = new Owner();
    owner.setId("qcs::cam::uin/2000000000:uin/2000000000");
    aclSet.setOwner(owner);
    UinGrantee uinGrantee = new UinGrantee("qcs::cam::uin/100000000000:uin/100000000000");
    aclSet.grantPermission(uinGrantee, Permission.Read);
    // 设置公有读
    aclSet.grantPermission(GroupGrantee.AllUsers, Permission.Read);
    cosclient.setBucketAcl(bucketName, aclSet);
    cosclient.setBucketAcl(bucketName, CannedAccessControlList.Private);
    System.out.println("===========================");
    aclGet = cosclient.getBucketAcl(bucketName);
    System.out.println("bucket acl:" + aclGet.getOwner());
    System.out.println("bucket acl:" + aclGet.getCannedAccessControl());
    for (Grant grant : aclGet.getGrantsAsList()) {
        System.out.println(grant.getGrantee().getIdentifier());
        System.out.println(grant.getGrantee().getTypeIdentifier());
        System.out.println(grant.getPermission());
    }
}
Also used : COSClient(com.qcloud.cos.COSClient) CannedAccessControlList(com.qcloud.cos.model.CannedAccessControlList) AccessControlList(com.qcloud.cos.model.AccessControlList) UinGrantee(com.qcloud.cos.model.UinGrantee) Grant(com.qcloud.cos.model.Grant) Owner(com.qcloud.cos.model.Owner) COSCredentials(com.qcloud.cos.auth.COSCredentials) BasicCOSCredentials(com.qcloud.cos.auth.BasicCOSCredentials) BasicCOSCredentials(com.qcloud.cos.auth.BasicCOSCredentials) Region(com.qcloud.cos.region.Region) ClientConfig(com.qcloud.cos.ClientConfig)

Example 2 with Owner

use of com.qcloud.cos.model.Owner in project cos-java-sdk-v5 by tencentyun.

the class AclTest method setGetObjectAclTest.

@Test
public void setGetObjectAclTest() throws IOException {
    if (!judgeUserInfoValid()) {
        return;
    }
    File localFile = buildTestFile(0L);
    String key = "ut/acl_test.txt";
    putObjectFromLocalFile(localFile, key);
    try {
        AccessControlList acl = new AccessControlList();
        Owner owner = new Owner();
        owner.setId("qcs::cam::uin/2779643970:uin/2779643970");
        acl.setOwner(owner);
        String id = "qcs::cam::uin/2779643970:uin/734505014";
        UinGrantee uinGrantee = new UinGrantee(id);
        acl.grantPermission(uinGrantee, Permission.FullControl);
        cosclient.setObjectAcl(bucket, key, acl);
        AccessControlList aclGet = cosclient.getObjectAcl(bucket, key);
        List<Grant> grants = aclGet.getGrantsAsList();
        assertEquals(1L, grants.size());
        assertEquals(id, grants.get(0).getGrantee().getIdentifier());
        assertEquals(Permission.FullControl.toString(), grants.get(0).getPermission().toString());
    } finally {
        assertTrue(localFile.delete());
        clearObject(key);
    }
}
Also used : CannedAccessControlList(com.qcloud.cos.model.CannedAccessControlList) AccessControlList(com.qcloud.cos.model.AccessControlList) UinGrantee(com.qcloud.cos.model.UinGrantee) Grant(com.qcloud.cos.model.Grant) Owner(com.qcloud.cos.model.Owner) File(java.io.File) Test(org.junit.Test)

Example 3 with Owner

use of com.qcloud.cos.model.Owner in project cos-java-sdk-v5 by tencentyun.

the class AclTest method setGetBucketAclTest.

@Test
public void setGetBucketAclTest() {
    if (!judgeUserInfoValid()) {
        return;
    }
    AccessControlList acl = new AccessControlList();
    Owner owner = new Owner();
    owner.setId("qcs::cam::uin/2779643970:uin/2779643970");
    acl.setOwner(owner);
    String id = "qcs::cam::uin/2779643970:uin/734505014";
    UinGrantee uinGrantee = new UinGrantee(id);
    uinGrantee.setIdentifier(id);
    acl.grantPermission(uinGrantee, Permission.FullControl);
    cosclient.setBucketAcl(bucket, acl);
    AccessControlList aclGet = cosclient.getBucketAcl(bucket);
    List<Grant> grants = aclGet.getGrantsAsList();
    assertEquals(1L, grants.size());
    assertEquals(id, grants.get(0).getGrantee().getIdentifier());
    assertEquals(Permission.FullControl.toString(), grants.get(0).getPermission().toString());
}
Also used : CannedAccessControlList(com.qcloud.cos.model.CannedAccessControlList) AccessControlList(com.qcloud.cos.model.AccessControlList) UinGrantee(com.qcloud.cos.model.UinGrantee) Grant(com.qcloud.cos.model.Grant) Owner(com.qcloud.cos.model.Owner) Test(org.junit.Test)

Example 4 with Owner

use of com.qcloud.cos.model.Owner in project cos-java-sdk-v5 by tencentyun.

the class SetGetObjectAclDemo method setGetObjectAclTest.

public static void setGetObjectAclTest() {
    // 1 初始化用户身份信息(secretId, secretKey)
    COSCredentials cred = new BasicCOSCredentials("AKIDXXXXXXXX", "1A2Z3YYYYYYYYYY");
    // 2 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
    ClientConfig clientConfig = new ClientConfig(new Region("ap-guangzhou"));
    // 3 生成cos客户端
    COSClient cosclient = new COSClient(cred, clientConfig);
    // bucket名需包含appid
    String bucketName = "mybucket-1251668577";
    String key = "aaa/bbb.txt";
    cosclient.putObject(bucketName, key, "data");
    // 设置对象的acl
    AccessControlList acl = new AccessControlList();
    Owner owner = new Owner();
    owner.setId("qcs::cam::uin/2779643970:uin/2779643970");
    acl.setOwner(owner);
    // 设置子账号734505014具有WriteAcp权限
    String id = "qcs::cam::uin/2779643970:uin/734505014";
    UinGrantee uinGrantee = new UinGrantee(id);
    uinGrantee.setIdentifier(id);
    // 设置子账号909619400具有Read权限
    acl.grantPermission(uinGrantee, Permission.WriteAcp);
    String id1 = "qcs::cam::uin/2779643970:uin/909619400";
    UinGrantee uinGrantee1 = new UinGrantee(id1);
    uinGrantee.setIdentifier(id1);
    acl.grantPermission(uinGrantee1, Permission.Read);
    cosclient.setObjectAcl(bucketName, key, acl);
    // 获取对象的acl
    AccessControlList aclGet = cosclient.getObjectAcl(bucketName, key);
    List<Grant> grants = aclGet.getGrantsAsList();
    // private object acl
    cosclient.setObjectAcl(bucketName, key, CannedAccessControlList.Private);
    AccessControlList accessControlList = cosclient.getObjectAcl(bucketName, key);
    System.out.println("private object acl:" + accessControlList.getCannedAccessControl());
    // public-read object acl
    cosclient.setObjectAcl(bucketName, key, CannedAccessControlList.PublicRead);
    accessControlList = cosclient.getObjectAcl(bucketName, key);
    System.out.println("public-read object acl:" + accessControlList.getCannedAccessControl());
    // default object acl
    cosclient.setObjectAcl(bucketName, key, CannedAccessControlList.Default);
    accessControlList = cosclient.getObjectAcl(bucketName, key);
    System.out.println("default object acl:" + accessControlList.getCannedAccessControl());
}
Also used : COSClient(com.qcloud.cos.COSClient) CannedAccessControlList(com.qcloud.cos.model.CannedAccessControlList) AccessControlList(com.qcloud.cos.model.AccessControlList) UinGrantee(com.qcloud.cos.model.UinGrantee) Grant(com.qcloud.cos.model.Grant) Owner(com.qcloud.cos.model.Owner) COSCredentials(com.qcloud.cos.auth.COSCredentials) BasicCOSCredentials(com.qcloud.cos.auth.BasicCOSCredentials) BasicCOSCredentials(com.qcloud.cos.auth.BasicCOSCredentials) Region(com.qcloud.cos.region.Region) ClientConfig(com.qcloud.cos.ClientConfig)

Aggregations

AccessControlList (com.qcloud.cos.model.AccessControlList)4 CannedAccessControlList (com.qcloud.cos.model.CannedAccessControlList)4 Grant (com.qcloud.cos.model.Grant)4 Owner (com.qcloud.cos.model.Owner)4 UinGrantee (com.qcloud.cos.model.UinGrantee)4 COSClient (com.qcloud.cos.COSClient)2 ClientConfig (com.qcloud.cos.ClientConfig)2 BasicCOSCredentials (com.qcloud.cos.auth.BasicCOSCredentials)2 COSCredentials (com.qcloud.cos.auth.COSCredentials)2 Region (com.qcloud.cos.region.Region)2 Test (org.junit.Test)2 File (java.io.File)1