Setting or Obtaining a Versioning Object ACL
If you have any questions during development, post them on the Issues page of GitHub. For details about parameters and usage of each API, see the .
Directly Setting a Versioning Object ACL
You can call ObsClient.setObjectAcl to pass the version ID (versionId) to set the ACL for a versioning object. Sample code is as follows:
// Hard-coded or plaintext AK/SK are risky. For security purposes, encrypt your AK/SK and store them in the configuration file or environment variables. In this example, the AK/SK are stored in environment variables for identity authentication. Before running this example, configure environment variables ACCESS_KEY_ID and SECRET_ACCESS_KEY_ID. // Obtain an AK/SK pair on the management console. For details, see https://support.huaweicloud.com/eu/usermanual-ca/ca_01_0003.html. String ak = System.getenv("ACCESS_KEY_ID"); String sk = System.getenv("SECRET_ACCESS_KEY_ID"); String endPoint = "https://your-endpoint"; // 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", "objectname", 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); // Directly set the versioning object ACL. obsClient.setObjectAcl("bucketname", "objectname", acl, "versionid");
The owner or grantee ID needed in the ACL indicates the account ID, which can be viewed on the My Credentials page of OBS Console.
Obtaining a Versioning Object ACL
You can call ObsClient.getObjectAcl to pass the version ID (versionId) to obtain the ACL of a versioning object. Sample code is as follows:
// Hard-coded or plaintext AK/SK are risky. For security purposes, encrypt your AK/SK and store them in the configuration file or environment variables. In this example, the AK/SK are stored in environment variables for identity authentication. Before running this example, configure environment variables ACCESS_KEY_ID and SECRET_ACCESS_KEY_ID. // Obtain an AK/SK pair on the management console. For details, see https://support.huaweicloud.com/eu/usermanual-ca/ca_01_0003.html. String ak = System.getenv("ACCESS_KEY_ID"); String sk = System.getenv("SECRET_ACCESS_KEY_ID"); String endPoint = "https://your-endpoint"; // Create an instance of ObsClient. ObsClient obsClient = new ObsClient(ak, sk, endPoint); AccessControlList acl = obsClient.getObjectAcl("bucketname", "objectname", "versionid"); System.out.println(acl);
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.