/** * Downloads the permission settings for the container. * * @return A {@link BlobContainerPermissions} object that represents the container's permissions. * * @throws StorageException * If a storage service error occurred. */ @DoesServiceRequest public BlobContainerPermissions downloadPermissions() throws StorageException { return this.downloadPermissions(null /* accessCondition */, null /* options */, null /* opContext */); }
/** * Downloads the permission settings for the container. * * @return A {@link BlobContainerPermissions} object that represents the container's permissions. * * @throws StorageException * If a storage service error occurred. */ @DoesServiceRequest public BlobContainerPermissions downloadPermissions() throws StorageException { return this.downloadPermissions(null /* accessCondition */, null /* options */, null /* opContext */); }
BlobContainerPermissions blobContainerPermissions = container.downloadPermissions();
testPermissions = this.container.downloadPermissions(); assertPermissionsEqual(expectedPermissions, testPermissions); testPermissions = this.container.downloadPermissions(); assertPermissionsEqual(expectedPermissions, testPermissions); Thread.sleep(30000); testPermissions = this.container.downloadPermissions(); assertPermissionsEqual(expectedPermissions, testPermissions);
@Override public void setPermission(final Path file, final Acl acl) throws BackgroundException { try { if(containerService.isContainer(file)) { final CloudBlobContainer container = session.getClient() .getContainerReference(containerService.getContainer(file).getName()); final BlobContainerPermissions permissions = container.downloadPermissions(null, null, context); for(Acl.UserAndRole userAndRole : acl.asList()) { if(userAndRole.getUser() instanceof Acl.GroupUser) { if(userAndRole.getUser().getIdentifier().equals(Acl.GroupUser.EVERYONE)) { permissions.setPublicAccess(BlobContainerPublicAccessType.BLOB); } } } container.uploadPermissions(permissions, null, null, context); } } catch(URISyntaxException e) { throw new NotfoundException(e.getMessage(), e); } catch(StorageException e) { throw new AzureExceptionMappingService().map("Cannot change permissions of {0}", e, file); } } }
this.container.create(); BlobContainerPermissions permissions = this.container.downloadPermissions(); assertTrue(BlobContainerPublicAccessType.OFF.equals(permissions.getPublicAccess())); assertEquals(0, permissions.getSharedAccessPolicies().size()); assertPermissionsEqual(permissions, container2.downloadPermissions()); permissions = container2.downloadPermissions(); assertPermissionsEqual(permissions, container2.downloadPermissions());
BlobContainerPermissions blobContainerPermissions = container.downloadPermissions();
@Override public Acl getPermission(final Path file) throws BackgroundException { try { if(containerService.isContainer(file)) { final CloudBlobContainer container = session.getClient() .getContainerReference(containerService.getContainer(file).getName()); final BlobContainerPermissions permissions = container.downloadPermissions(null, null, context); final Acl acl = new Acl(); if(permissions.getPublicAccess().equals(BlobContainerPublicAccessType.BLOB) || permissions.getPublicAccess().equals(BlobContainerPublicAccessType.CONTAINER)) { acl.addAll(new Acl.GroupUser(Acl.GroupUser.EVERYONE, false), new Acl.Role(Acl.Role.READ)); } return acl; } return Acl.EMPTY; } catch(URISyntaxException e) { throw new NotfoundException(e.getMessage(), e); } catch(StorageException e) { throw new AzureExceptionMappingService().map("Failure to read attributes of {0}", e, file); } }
assertEquals(accessType, container3.downloadPermissions().getPublicAccess());
BlobContainerPermissions permissions = containerRef.downloadPermissions(); assertEquals(accessType, containerRef.properties.getPublicAccess()); assertEquals(accessType, permissions.getPublicAccess());