Exemple #1
0
        public IBlobStorage CreateBlobStorage(StorageConnectionString connectionString)
        {
            if (connectionString.Prefix == BlobPrefix)
            {
                if (bool.TryParse(connectionString.Get(Constants.UseDevelopmentStorage), out bool useDevelopment) && useDevelopment)
                {
                    return(AzureUniversalBlobStorageProvider.CreateForLocalEmulator());
                }
                else
                {
                    connectionString.GetRequired(AccountParam, true, out string accountName);
                    connectionString.GetRequired(KeyParam, true, out string key);

                    return(AzureUniversalBlobStorageProvider.CreateFromAccountNameAndKey(accountName, key));
                }
            }
            else
            {
                //try to re-parse native connection string
                var newcs = new StorageConnectionString(BlobPrefix + "://" + connectionString.Prefix);

                if (newcs.Parameters.TryGetValue("AccountName", out string accountName) &&
                    newcs.Parameters.TryGetValue("AccountKey", out string accountKey))
                {
                    return(AzureUniversalBlobStorageProvider.CreateFromAccountNameAndKey(accountName, accountKey));
                }
            }

            return(null);
        }
Exemple #2
0
        public IBlobStorage CreateBlobStorage(StorageConnectionString connectionString)
        {
            if (connectionString.Prefix == Constants.AzureBlobConnectionPrefix)
            {
                if (bool.TryParse(connectionString.Get(Constants.UseDevelopmentStorage), out bool useDevelopment) && useDevelopment)
                {
                    return(AzureUniversalBlobStorageProvider.CreateForLocalEmulator());
                }
                else
                {
                    connectionString.GetRequired(Constants.AccountParam, true, out string accountName);
                    connectionString.GetRequired(Constants.KeyParam, true, out string key);

                    return(AzureUniversalBlobStorageProvider.CreateFromAccountNameAndKey(accountName, key));
                }
            }

            return(null);
        }
Exemple #3
0
 /// <summary>
 /// Creates a blob storage implementation based on Microsoft Azure Blob Storage using a SAS UEI
 /// bound to a container.
 /// </summary>
 public static IBlobStorage AzureBlobStorageByContainerSasUri(this IBlobStorageFactory factory,
                                                              Uri sasUri)
 {
     return(AzureUniversalBlobStorageProvider.CreateWithContainerSasUri(sasUri));
 }
Exemple #4
0
 /// <summary>
 /// Creates a blob storage implementation based on Microsoft Azure Blob Storage using development storage.
 /// </summary>
 /// <param name="factory">Reference to factory</param>
 /// <returns>Generic blob storage interface</returns>
 public static IBlobStorage AzureBlobDevelopmentStorage(this IBlobStorageFactory factory)
 {
     return(AzureUniversalBlobStorageProvider.CreateForLocalEmulator());
 }
Exemple #5
0
 /// <summary>
 /// Creates a blob storage implementation based on Microsoft Azure Blob Storage using account name and key.
 /// </summary>
 /// <param name="factory">Reference to factory</param>
 /// <param name="accountName">Storage Account name</param>
 /// <param name="key">Storage Account key</param>
 /// <returns>Generic blob storage interface</returns>
 public static IBlobStorage AzureBlobStorage(this IBlobStorageFactory factory,
                                             string accountName,
                                             string key)
 {
     return(AzureUniversalBlobStorageProvider.CreateFromAccountNameAndKey(accountName, key));
 }
Exemple #6
0
 /// <summary>
 /// Creates a blob storage implementation using a bearer token
 /// </summary>
 /// <param name="factory"></param>
 /// <param name="accountName"></param>
 /// <param name="token"></param>
 /// <returns></returns>
 public static IBlobStorage AzureBlobStorageFromAadToken(this IBlobStorageFactory factory,
                                                         string accountName,
                                                         string token)
 {
     return(AzureUniversalBlobStorageProvider.CreateWithAadToken(accountName, token));
 }
Exemple #7
0
 /// <summary>
 /// Creates a blob storage implementation using Shared Access Signature.
 /// </summary>
 /// <param name="factory">Reference to factory</param>
 /// <param name="sasUrl"></param>
 /// <returns></returns>
 public static IBlobStorage AzureBlobStorageFromSas(this IBlobStorageFactory factory,
                                                    string sasUrl)
 {
     return(AzureUniversalBlobStorageProvider.CreateFromSasUrl(sasUrl));
 }