>From Michael Blow <mb...@apache.org>: Michael Blow has submitted this change. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20250 )
Change subject: [NO ISSUE][*DB][STO] Support HTTP for Azure Blob Cloud Storage ...................................................................... [NO ISSUE][*DB][STO] Support HTTP for Azure Blob Cloud Storage Support HTTP connections using shared key credentials (e.g. setting ${AZURE_STORAGE_ACCOUNT} and ${AZURE_STORAGE_KEY} in env). Ext-ref: MB-68179 Change-Id: I88583c6f7e69c294a95d8b0b30d7dab2ceef1ab9 Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20250 Reviewed-by: Michael Blow <mb...@apache.org> Tested-by: Michael Blow <mb...@apache.org> --- M asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/azure/blobstorage/AzBlobStorageCloudClient.java M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestConstants.java 2 files changed, 25 insertions(+), 6 deletions(-) Approvals: Michael Blow: Looks good to me, approved; Verified diff --git a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestConstants.java b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestConstants.java index 8a6b99c..8c59c56 100644 --- a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestConstants.java +++ b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestConstants.java @@ -45,10 +45,8 @@ public static final String ACCOUNT_NAME_PLACEHOLDER = "%azure-accountname%"; public static final String AZURITE_ACCOUNT_NAME_DEFAULT = "devstoreaccount1"; public static final int AZURITE_PORT = 15055; - public static final String AZURITE_HOSTNAME = "127.0.0.1:" + AZURITE_PORT; public static final String AZURITE_ENDPOINT = "http://127.0.0.1:" + AZURITE_PORT + "/" + AZURITE_ACCOUNT_NAME_DEFAULT; - // account key public static final String ACCOUNT_KEY_PLACEHOLDER = "%azure-accountkey%"; public static final String AZURITE_ACCOUNT_KEY_DEFAULT = diff --git a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/azure/blobstorage/AzBlobStorageCloudClient.java b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/azure/blobstorage/AzBlobStorageCloudClient.java index e2bbb5b..d7b680e 100644 --- a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/azure/blobstorage/AzBlobStorageCloudClient.java +++ b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/azure/blobstorage/AzBlobStorageCloudClient.java @@ -407,16 +407,21 @@ private static void configCredentialsToAzClient(BlobServiceClientBuilder builder, AzBlobStorageClientConfig config) { - if (config.isAnonymousAuth()) { - StorageSharedKeyCredential creds = - new StorageSharedKeyCredential(AZURITE_ACCOUNT_NAME, AZURITE_ACCOUNT_KEY); - builder.credential(creds); + String storageAccount = System.getenv("AZURE_STORAGE_ACCOUNT"); + String storageKey = System.getenv("AZURE_STORAGE_KEY"); + + if (storageAccount != null && storageKey != null) { + builder.credential(new StorageSharedKeyCredential(storageAccount, storageKey)); + } else if (config.isAnonymousAuth()) { + // TODO(mblow): this mapping anonymous auth -> Azurite default account (hack) should be removed ASAP + builder.credential(new StorageSharedKeyCredential(AZURITE_ACCOUNT_NAME, AZURITE_ACCOUNT_KEY)); } else { builder.credential(config.createCredentialsProvider()); } } private static String getEndpoint(AzBlobStorageClientConfig config) { + // TODO(mblow): this mapping anonymous auth -> Azurite default endpoint (hack) should be removed ASAP return config.isAnonymousAuth() ? AZURITE_ENDPOINT + config.getBucket() : config.getEndpoint() + "/" + config.getBucket(); } -- To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20250 To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-Project: asterixdb Gerrit-Branch: phoenix Gerrit-Change-Id: I88583c6f7e69c294a95d8b0b30d7dab2ceef1ab9 Gerrit-Change-Number: 20250 Gerrit-PatchSet: 3 Gerrit-Owner: Michael Blow <mb...@apache.org> Gerrit-Reviewer: Ali Alsuliman <ali.al.solai...@gmail.com> Gerrit-Reviewer: Hussain Towaileb <hussai...@gmail.com> Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Gerrit-Reviewer: Michael Blow <mb...@apache.org> Gerrit-CC: Anon. E. Moose #1000171 Gerrit-MessageType: merged