public AzureBlobBackend(string url, Dictionary<string, string> options) { var uri = new Utility.Uri(url); uri.RequireHost(); string storageAccountName = null; string accessKey = null; string containerName = uri.Host.ToLowerInvariant(); if (options.ContainsKey("auth-username")) storageAccountName = options["auth-username"]; if (options.ContainsKey("auth-password")) accessKey = options["auth-password"]; if (options.ContainsKey("azure_account_name")) storageAccountName = options["azure_account_name"]; if (options.ContainsKey("azure_access_key")) accessKey = options["azure_access_key"]; if (!string.IsNullOrEmpty(uri.Username)) storageAccountName = uri.Username; if (!string.IsNullOrEmpty(uri.Password)) accessKey = uri.Password; if (string.IsNullOrWhiteSpace(storageAccountName)) { throw new Exception(Strings.AzureBlobBackend.NoStorageAccountName); } if (string.IsNullOrWhiteSpace(accessKey)) { throw new Exception(Strings.AzureBlobBackend.NoAccessKey); } _azureBlob = new AzureBlobWrapper(storageAccountName, accessKey, containerName); }
// ReSharper disable once UnusedMember.Global // This constructor is needed by the BackendLoader. public AzureBlobBackend(string url, Dictionary <string, string> options) { var uri = new Utility.Uri(url); uri.RequireHost(); string storageAccountName = null; string accessKey = null; string containerName = uri.Host.ToLowerInvariant(); if (options.ContainsKey("auth-username")) { storageAccountName = options["auth-username"]; } if (options.ContainsKey("auth-password")) { accessKey = options["auth-password"]; } if (options.ContainsKey("azure_account_name")) { storageAccountName = options["azure_account_name"]; } if (options.ContainsKey("azure_access_key")) { accessKey = options["azure_access_key"]; } if (!string.IsNullOrEmpty(uri.Username)) { storageAccountName = uri.Username; } if (!string.IsNullOrEmpty(uri.Password)) { accessKey = uri.Password; } if (storageAccountName == null && accessKey == null) { _azureBlob = new AzureBlobWrapper(url); return; } if (string.IsNullOrWhiteSpace(storageAccountName)) { throw new UserInformationException(Strings.AzureBlobBackend.NoStorageAccountName, "AzureNoAccountName"); } if (string.IsNullOrWhiteSpace(accessKey)) { throw new UserInformationException(Strings.AzureBlobBackend.NoAccessKey, "AzureNoAccessKey"); } _azureBlob = new AzureBlobWrapper(storageAccountName, accessKey, containerName); }