コード例 #1
0
 internal REMOTEBlobDirectory(CloudProvider provider, string directoryPath, Uri baseUri, string token) : base(provider)
 {
     _provider      = provider;
     _directoryPath = directoryPath;
     _baseUri       = baseUri;
     _token         = token;
 }
コード例 #2
0
        public void Setup(ILogger logger)
        {
            var configDir      = WebUIConfig.ConfigDirectory;
            var storageDir     = Path.Combine(configDir, "storage");
            var allConfigFiles = Directory.GetFiles(storageDir);

            providers = new Dictionary <String, CloudProvider>(StringComparer.OrdinalIgnoreCase);
            foreach (var oneConfigFile in allConfigFiles)
            {
                if (oneConfigFile.EndsWith(".json", StringComparison.OrdinalIgnoreCase))
                {
                    var           providerName = GetProviderName(oneConfigFile);
                    CloudProvider provider     = null;
                    //logger.LogInformation($"Setup storage provider {providerName}");
                    if (providerName.IndexOf("azure", StringComparison.OrdinalIgnoreCase) >= 0)
                    {
                        //logger.LogInformation($"Enter azure setup for {providerName}");
                        provider = new AzureCloudProvider(oneConfigFile, logger);
                        if (!Object.ReferenceEquals(provider, null))
                        {
                            CloudProvider.Azure = providerName;
                        }
                    }
#if MULTI_PROVIDER
                    else if (providerName.IndexOf("google", StringComparison.OrdinalIgnoreCase) >= 0)
                    {
                        //logger.LogInformation($"Enter google setup for {providerName}");
                        provider = new GoogleCloudProvider(oneConfigFile, logger);
                        if (!Object.ReferenceEquals(provider, null))
                        {
                            CloudProvider.GCE = providerName;
                        }
                    }
                    else if (providerName.IndexOf("aws", StringComparison.OrdinalIgnoreCase) >= 0)
                    {
                        //logger.LogInformation($"Enter aws setup for {providerName}");
                        provider = new AWSCloudProvider(oneConfigFile, logger);
                        if (!Object.ReferenceEquals(provider, null))
                        {
                            CloudProvider.AWS = providerName;
                        }
                    }
#endif
                    else if (providerName.IndexOf("local", StringComparison.OrdinalIgnoreCase) >= 0)
                    {
                        //logger.LogInformation($"Enter local setup for {providerName}");
                        provider = new NFSCloudProvider(oneConfigFile, logger);
                        if (!Object.ReferenceEquals(provider, null))
                        {
                            CloudProvider.LOCAL = providerName;
                        }
                    }
                    else if (providerName.IndexOf("remote", StringComparison.OrdinalIgnoreCase) >= 0)
                    {
                        //logger.LogInformation($"Enter local setup for {providerName}");
                        provider = new REMOTECloudProvider(oneConfigFile, logger);
                        if (!Object.ReferenceEquals(provider, null))
                        {
                            CloudProvider.REMOTE = providerName;
                        }
                    }
                    if (!String.IsNullOrEmpty(providerName) &&
                        !Object.ReferenceEquals(provider, null) &&
                        provider.Ready())
                    {
                        logger.LogInformation($"Configure {providerName} ==== {oneConfigFile}");
                        providers[providerName] = provider;
                        provider.Name           = providerName;
                    }
                }
            }

            if (!Object.ReferenceEquals(LocalSetting.Current, null))
            {
                CloudProvider.Default = LocalSetting.Current.StorageProvider;
            }
            else
            {
                CloudProvider.Default = null;
            }
            if (!String.IsNullOrEmpty(CloudProvider.Default))
            {
                if (!CloudProviderSetting.Current.providers.ContainsKey(CloudProvider.Default))
                {
                    CloudProvider.Default = null;
                }
            }
            GetAnyProvider();
        }
コード例 #3
0
 internal ICustomizedBlobItem(CloudProvider inProvider)
 {
     Provider = inProvider;
 }
コード例 #4
0
 internal CustomizedResultSegment(CloudProvider inProvider)
 {
     Provider = inProvider;
 }
コード例 #5
0
 internal BlobDirectory(CloudProvider inProvider)
 {
     Provider = inProvider;
 }
コード例 #6
0
 internal BlobContainer(CloudProvider inProvider)
 {
     Provider = inProvider;
 }
コード例 #7
0
 internal NFSBlobDirectory(CloudProvider provider, string directoryPath, string basePath) : base(provider)
 {
     _provider      = provider;
     _directoryPath = directoryPath;
     _basePath      = basePath;
 }
コード例 #8
0
 internal NFSBlobContainer(CloudProvider provider, string basePath) : base(provider)
 {
     _provider = provider;
     _basePath = basePath;
 }
コード例 #9
0
 internal REMOTEBlobContainer(CloudProvider provider, Uri uri, string token) : base(provider)
 {
     _provider = provider;
     _uri      = uri;
     _token    = token;
 }
コード例 #10
0
 public IAzureBlobItem(CloudProvider provider, IListBlobItem item) :
     base(provider)
 {
     _item = item;
 }
コード例 #11
0
 public AzureResultSegment(CloudProvider Provider, BlobResultSegment result) :
     base(Provider)
 {
     _result = result;
 }
コード例 #12
0
 internal AzureBlobDirectory(CloudProvider provider, CloudBlobDirectory directory) :
     base(provider)
 {
     _directory = directory;
 }
コード例 #13
0
 internal AzureBlobContainer(CloudProvider provider, CloudBlobContainer container) :
     base(provider)
 {
     _container = container;
 }
コード例 #14
0
        public override String[] GetURLs(string storage, string path, string location)
        {
            var urls = GetStorageUrlEndpoint(storage, location);

            return(Array.ConvertAll(urls, x => CloudProvider.urlCombine(x, path)));
        }