Karl Cassar
Karl Cassar

Reputation: 6483

getting blob Uri without connecting to Azure

I've created a file system abstraction, where I store files with a relative path, e.g /uploads/images/img1.jpg.

These can then be saved both on local file system (relative to folder), or Azure. Then, I can also ask a method to give me the url to access that relative path.

In Azure, currently this is being done similar to the below:

    public string GetWebPathForRelativePathOnUserContentStorage(string relativeFileFullPath)
    {

        var container = getCloudBlobContainer();
        CloudBlockBlob blob = container.GetBlockBlobReference(relativeFileFullPath);

        return blob.Uri.ToString();
    }

On a normal website, there might be say 40 images in one page - So this get's called like 40 times. Is this first of all slow? I've noticed there is a particular pattern in the generated URL:

https://[storageAccountName].blob.core.windows.net/[container_name]/[relative_path]

Can I safely generate that URL without using the Azure storage API?

Upvotes: 0

Views: 1012

Answers (1)

Gaurav Mantri
Gaurav Mantri

Reputation: 136246

On a normal website, there might be say 40 images in one page - So this get's called like 40 times. Is this first of all slow?

Not at all. The code you wrote above does not make any calls to storage. It just creates an instance of CloudBlockBlob object. If you were using GetBlockBlobReferenceFromServer method, then it would have been a different story because that method makes a call to storage.

`I've noticed there is a particular pattern in the generated URL:

_https://[storageAccountName].blob.core.windows.net/[container_name]/[relative_path]

Can I safely generate that URL without using the Azure storage API?

Absolutely yes. Assuming you're using just standard stuff that would be perfectly fine. Non standard stuff would include things like using a custom domain for your blob storage or connecting to geo-secondary location of your storage account.

Upvotes: 3

Related Questions