• Object Storage Service

obs
  1. Help Center
  2. Object Storage Service
  3. Developer Guide (Java SDK)
  4. Versioning Management
  5. Setting or Obtaining a Versioning Object ACL

Setting or Obtaining a Versioning Object ACL

Directly Setting a Versioning Object ACL

You can call ObsClient.setObjectAcl and set the version ID (versionId) to specify the ACL for a versioning object. Sample code is as follows:

String endPoint = "yourdomainname";
String ak = "*** Provide your Access Key ***";
String sk = "*** Provide your Secret Key ***";
// Create an instance of ObsClient.
ObsClient obsClient = new ObsClient(ak, sk, endPoint);

// Set the versioning object ACL to public-read by specifying the pre-defined access control policy.
obsClient.setObjectAcl("bucketname", "objectkey", null, AccessControlList.REST_CANNED_PUBLIC_READ, "versionid");

AccessControlList acl = new AccessControlList();
Owner owner = new Owner();
owner.setId("ownerid");
acl.setOwner(owner);
// Grant the READ permission to all users.
acl.grantPermission(GroupGrantee.ALL_USERS, Permission.PERMISSION_READ);
// Grant the WRITE permission to authorized users.
acl.grantPermission(GroupGrantee.AUTHENTICATED_USERS, Permission.PERMISSION_WRITE);
// Directly set the versioning object ACL.
obsClient.setObjectAcl("bucketname", "objectkey", null, null, "versionid");

// Close obsClient.
obsClient.close();
NOTE:

The owner or grantee ID needed in the ACL indicates the account ID, which can be viewed on the My Credential page of OBS Console.

Obtaining a Versioning Object ACL

You can call ObsClient.getObjectAcl to obtain the ACL of a versioning object by specifying the version ID (versionId). Sample code is as follows:

String endPoint = "yourdomainname";
String ak = "*** Provide your Access Key ***";
String sk = "*** Provide your Secret Key ***";
// Create an instance of ObsClient.
ObsClient obsClient = new ObsClient(ak, sk, endPoint);

AccessControlList acl = obsClient.getObjectAcl("bucketname", "objectkey", "versionid");
System.out.println(acl);

// Close obsClient.
obsClient.close();