protected String generateSASToken(CloudBlobContainer blobContainer, int timeSpan) { Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("UTC")); cal.setTime(new Date()); cal.add(Calendar.MINUTE, timeSpan); SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy(); policy.setPermissions(EnumSet.of(SharedAccessBlobPermissions.READ)); policy.setSharedAccessExpiryTime(cal.getTime()); try { String token = blobContainer.generateSharedAccessSignature(policy, null); return token; } catch(Exception e) { throw new GradleException("could not generate SASToken: " + e.getMessage()); } }
private SharedAccessBlobPolicy getPolicy(final int expiry) { final SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy(); policy.setSharedAccessExpiryTime(new Date(this.getExpiry(expiry))); policy.setPermissions(EnumSet.of(SharedAccessBlobPermissions.READ)); return policy; }
public static String getContainerSasUri(CloudBlobContainer container) throws InvalidKeyException, StorageException { //Set the expiry time and permissions for the container. //In this case no start time is specified, so the shared access signature becomes valid immediately. SharedAccessBlobPolicy sasConstraints = new SharedAccessBlobPolicy(); Date expirationDate = Date.from(Instant.now().plus(Duration.ofDays(1))); sasConstraints.setSharedAccessExpiryTime(expirationDate); EnumSet<SharedAccessBlobPermissions> permissions = EnumSet.of( SharedAccessBlobPermissions.WRITE, SharedAccessBlobPermissions.LIST, SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.DELETE); sasConstraints.setPermissions(permissions); //Generate the shared access signature on the container, setting the constraints directly on the signature. String sasContainerToken = container.generateSharedAccessSignature(sasConstraints, null); //Return the URI string for the container, including the SAS token. return container.getUri() + "?" + sasContainerToken; } }
sharedAccessBlobPolicy.setSharedAccessStartTime(calendar.getTime()); calendar.add(Calendar.HOUR, 23); sharedAccessBlobPolicy.setSharedAccessExpiryTime(calendar.getTime()); sharedAccessBlobPolicy.setPermissions(EnumSet.of(SharedAccessBlobPermissions.READ)); BlobContainerPermissions containerPermissions = new BlobContainerPermissions();
private static String getContainerSasUri(CloudBlobContainer container) throws InvalidKeyException, StorageException { //Set the expiry time and permissions for the container. //In this case no start time is specified, so the shared access signature becomes valid immediately. SharedAccessBlobPolicy sasConstraints = new SharedAccessBlobPolicy(); Date expirationDate = Date.from(Instant.now().plus(Duration.ofDays(1))); sasConstraints.setSharedAccessExpiryTime(expirationDate); EnumSet<SharedAccessBlobPermissions> permissions = EnumSet.of( SharedAccessBlobPermissions.WRITE, SharedAccessBlobPermissions.LIST, SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.DELETE); sasConstraints.setPermissions(permissions); //Generate the shared access signature on the container, setting the constraints directly on the signature. String sasContainerToken = container.generateSharedAccessSignature(sasConstraints, null); //Return the URI string for the container, including the SAS token. return container.getUri() + "?" + sasContainerToken; } }
private final static SharedAccessBlobPolicy createSharedAccessPolicy(EnumSet<SharedAccessBlobPermissions> sap, int expireTimeInSeconds) { Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("UTC")); cal.setTime(new Date()); cal.add(Calendar.SECOND, expireTimeInSeconds); SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy(); policy.setPermissions(sap); policy.setSharedAccessExpiryTime(cal.getTime()); return policy; }
SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy(); Date expiry = Date.from(Instant.now().plusSeconds(expirySeconds)); policy.setSharedAccessExpiryTime(expiry); policy.setPermissions(permissions);
sasPolicy.setSharedAccessExpiryTime(calendar.getTime());
sasPolicy.setSharedAccessExpiryTime(calendar.getTime());
policy1.setSharedAccessStartTime(now.getTime()); now.add(Calendar.MINUTE, 10); policy1.setSharedAccessExpiryTime(now.getTime());
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testCloudBlobContainerReferenceFromServerSAS() throws StorageException, URISyntaxException, IOException, InvalidKeyException { this.container.create(); CloudBlob blob = BlobTestHelper.uploadNewBlob(this.container, BlobType.BLOCK_BLOB, null, 1024, null); SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy(); Calendar now = Calendar.getInstance(); now.add(Calendar.MINUTE, 10); policy.setSharedAccessExpiryTime(now.getTime()); policy.setPermissions(EnumSet.of(SharedAccessBlobPermissions.READ)); String token = this.container.generateSharedAccessSignature(policy, null); CloudBlobContainer containerSAS = new CloudBlobContainer(this.container.getStorageUri(), new StorageCredentialsSharedAccessSignature(token)); CloudBlob blobRef = containerSAS.getBlobReferenceFromServer(blob.getName()); assertEquals(blob.getClass(), blobRef.getClass()); assertEquals(blob.getUri(), blobRef.getUri()); }
policy.setPermissions(EnumSet.of(SharedAccessBlobPermissions.LIST, SharedAccessBlobPermissions.CREATE)); policy.setSharedAccessStartTime(start); policy.setSharedAccessExpiryTime(expiry); permissions.getSharedAccessPolicies().put("key1", policy);
cal.setTime(new Date()); cal.add(Calendar.SECOND, 5000); policy.setSharedAccessExpiryTime(cal.getTime());
policy.setSharedAccessExpiryTime(cal.getTime()); policy.setSharedAccessExpiryTime(cal.getTime());
cal.setTime(new Date()); cal.add(Calendar.SECOND, 5000); policy.setSharedAccessExpiryTime(cal.getTime());
policy.setSharedAccessExpiryTime(cal.getTime());