Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        // 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);
        }