You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@jclouds.apache.org by "Dave Sloan (Jira)" <ji...@apache.org> on 2020/11/11 08:35:00 UTC

[jira] [Created] (JCLOUDS-1557) Azure Blob Storage: Support for Local Endpoints (eg Azurite)

Dave Sloan created JCLOUDS-1557:
-----------------------------------

             Summary: Azure Blob Storage: Support for Local Endpoints (eg Azurite)
                 Key: JCLOUDS-1557
                 URL: https://issues.apache.org/jira/browse/JCLOUDS-1557
             Project: jclouds
          Issue Type: Improvement
            Reporter: Dave Sloan


Azurite provides a local Azure-compatible endpoint for purposes of testing without requiring network traffic or incurring costs on Azure.

Currently while it is possible to define a custom endpoint this is not respected.

In both

[https://github.com/apache/jclouds/blob/ba1504b38e725c45db304767ac76b2be4b71fd0d/providers/azureblob/src/main/java/org/jclouds/azureblob/blobstore/AzureBlobRequestSigner.java#L66]

[https://github.com/apache/jclouds/blob/ca5190636a5fc1ffe48d0d6b8087ad160c0b7d80/providers/azureblob/src/main/java/org/jclouds/azure/storage/filters/SharedKeyLiteAuthentication.java#L95]

 

The `storageUrl` is hard-coded to the Azure location
{code:java}
this.storageUrl = URI.create("https://" + creds.get().identity + ".blob.core.windows.net/");
{code}
 

This should be made to respect a custom endpoint if configured, e.g.

 
{code:java}
BlobStoreContext context = ContextBuilder.newBuilder("azureblob")
                 .credentials(storageAccountName, storageAccountKey)
                 .endpoint("http://localhost:10000")
                 .buildView(BlobStoreContext.class);

{code}
In addition, similar to the AWS S3 connector (`enableVirtualHostBuckets`), a configurable property should be provided to change the format of the URLs used by Azure to include the storage account name in the path.

 

 

*Azure endpoint URL format (container in hostname)*

[https://devstoreaccount1.blob.core.windows.net/]

 

*Azurite endpoint URL format (container in path)*

[http://localhost:10000/devstoreaccount1/]

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)