/** * Gets a {@link CloudBlobContainer} object with the specified name. * * @param containerName * The name of the container, which must adhere to container naming rules. The container name should not * include any path separator characters (/). * Container names must be lowercase, between 3-63 characters long and must start with a letter or * number. Container names may contain only letters, numbers, and the dash (-) character. * * @return A reference to a {@link CloudBlobContainer} object. * * @throws URISyntaxException * If the resource URI constructed based on the containerName is invalid. * @throws StorageException * If a storage service error occurred. * * @see <a href="http://msdn.microsoft.com/library/azure/dd135715.aspx">Naming and Referencing Containers, Blobs, * and Metadata</a> */ public CloudBlobContainer getContainerReference(final String containerName) throws URISyntaxException, StorageException { return new CloudBlobContainer(containerName, this); }
/** * Gets a {@link CloudBlobContainer} object with the specified name. * * @param containerName * The name of the container, which must adhere to container naming rules. The container name should not * include any path separator characters (/). * Container names must be lowercase, between 3-63 characters long and must start with a letter or * number. Container names may contain only letters, numbers, and the dash (-) character. * * @return A reference to a {@link CloudBlobContainer} object. * * @throws URISyntaxException * If the resource URI constructed based on the containerName is invalid. * @throws StorageException * If a storage service error occurred. * * @see <a href="http://msdn.microsoft.com/library/azure/dd135715.aspx">Naming and Referencing Containers, Blobs, * and Metadata</a> */ public CloudBlobContainer getContainerReference(final String containerName) throws URISyntaxException, StorageException { return new CloudBlobContainer(containerName, this); }
public static CloudBlobDirectory cloudBlobDirectoryFrom(StorageCredentials credentials, String uri, String dir) throws URISyntaxException, StorageException { StorageUri storageUri = new StorageUri(new URI(uri)); CloudBlobContainer container = new CloudBlobContainer(storageUri, credentials); return container.getDirectoryReference(dir); }
public static CloudBlobDirectory cloudBlobDirectoryFrom(StorageCredentials credentials, String uri, String dir) throws URISyntaxException, StorageException { StorageUri storageUri = new StorageUri(new URI(uri)); CloudBlobContainer container = new CloudBlobContainer(storageUri, credentials); return container.getDirectoryReference(dir); }
public static CloudBlobContainer createBlobContainerClient(BlobServiceConfiguration cfg) throws Exception { URI uri = prepareStorageBlobUri(cfg, false); StorageCredentials creds = getAccountCredentials(cfg); return new CloudBlobContainer(uri, creds); }
/** * Returns the blob's container. * * @return A {@link CloudBlobContainer} object that represents the container of the blob. * @throws StorageException * If a storage service error occurred. * @throws URISyntaxException * If the resource URI is invalid. */ @Override public final CloudBlobContainer getContainer() throws StorageException, URISyntaxException { if (this.container == null) { final StorageUri containerURI = PathUtility.getContainerURI(this.getStorageUri(), this.blobServiceClient.isUsePathStyleUris()); this.container = new CloudBlobContainer(containerURI, this.blobServiceClient.getCredentials()); } return this.container; }
/** * Returns the blob's container. * * @return A {@link CloudBlobContainer} object that represents the container of the blob. * @throws StorageException * If a storage service error occurred. * @throws URISyntaxException * If the resource URI is invalid. */ @Override public final CloudBlobContainer getContainer() throws StorageException, URISyntaxException { if (this.container == null) { final StorageUri containerURI = PathUtility.getContainerURI(this.getStorageUri(), this.blobServiceClient.isUsePathStyleUris()); this.container = new CloudBlobContainer(containerURI, this.blobServiceClient.getCredentials()); } return this.container; }
@Override public CloudBlobContainerWrapper getContainerReference(String name) throws URISyntaxException, StorageException { try { CloudBlobContainer container = new CloudBlobContainer(sasKeyGenerator.getContainerSASUri( storageAccount, name)); if (retryPolicy != null) { container.getServiceClient().getDefaultRequestOptions().setRetryPolicyFactory(retryPolicy); } if (timeoutIntervalInMs > 0) { container.getServiceClient().getDefaultRequestOptions().setTimeoutIntervalInMs(timeoutIntervalInMs); } return (useContainerSasKeyForAllAccess) ? new SASCloudBlobContainerWrapperImpl(storageAccount, container, null) : new SASCloudBlobContainerWrapperImpl(storageAccount, container, sasKeyGenerator); } catch (SASKeyGenerationException sasEx) { String errorMsg = "Encountered SASKeyGeneration exception while " + "generating SAS Key for container : " + name + " inside Storage account : " + storageAccount; LOG.error(errorMsg); throw new StorageException(SAS_ERROR_CODE, errorMsg, sasEx); } }
@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()); }
CloudBlobContainer httpContainer = new CloudBlobContainer( PathUtility.addToQuery(httpUri, containerSasHttps)); assertEquals(StorageCredentialsSharedAccessSignature.class.toString(), CloudBlobContainer httpsContainer = new CloudBlobContainer( PathUtility.addToQuery(httpsUri, containerSasHttps)); assertEquals(StorageCredentialsSharedAccessSignature.class.toString(), CloudBlobContainer httpContainer = new CloudBlobContainer( PathUtility.addToQuery(httpUri, containerSasHttp)); assertEquals(StorageCredentialsSharedAccessSignature.class.toString(), httpBlob.download(new ByteArrayOutputStream()); httpsContainer = new CloudBlobContainer( PathUtility.addToQuery(httpsUri, containerSasHttp)); assertEquals(StorageCredentialsSharedAccessSignature.class.toString(),
String containerSasNone = this.container.generateSharedAccessSignature(sp, null, range2, null); CloudBlobContainer noneContainer = new CloudBlobContainer(PathUtility.addToQuery(this.container.getUri(), containerSasNone)); new CloudBlobContainer(PathUtility.addToQuery(this.container.getUri(), containerSasOne)); new CloudBlobContainer(PathUtility.addToQuery(this.container.getUri(), containerSasAll));
CloudBlobContainer readListContainer = new CloudBlobContainer(PathUtility.addToQuery(this.container.getUri(), containerReadListSas)); CloudBlobContainer containerFromUri = new CloudBlobContainer(PathUtility.addToQuery( readListContainer.getStorageUri(), this.container.generateSharedAccessSignature(null, "readlist"))); assertEquals(StorageCredentialsSharedAccessSignature.class.toString(), containerFromUri.getServiceClient()
CloudBlobContainer sasContainer = new CloudBlobContainer(PathUtility.addToQuery(this.container.getUri(), sasToken2));
container = new CloudBlobContainer(credentials.transformUri(container.getUri())); blob = BlobTestHelper.getBlobReference(blob.getProperties().getBlobType(), container, blob.getName());
URI sasUri = sasClient.getContainerReference(container.getName()).getUri(); sasUri = sasClient.getCredentials().transformUri(sasUri); final CloudBlobContainer sasContainer = new CloudBlobContainer(sasUri);
assertEquals(endpoint, container.getServiceClient().getStorageUri()); container = new CloudBlobContainer(containerUri, client.getCredentials()); assertEquals(containerUri, container.getStorageUri()); assertEquals(containerUri.getPrimaryUri(), container.getUri());