Пример #1
0
        public AzureAtomicReader(IAzureStorageConfig storage, IAtomicStorageStrategy strategy)
        {
            _strategy = strategy;
            var folder = strategy.GetFolderForEntity(typeof(TEntity), typeof(TKey));

            _container = storage.CreateBlobClient().GetContainerReference(folder);
        }
        public AzureAtomicEntityWriter(IAzureStorageConfig storage, IAtomicStorageStrategy strategy)
        {
            _strategy = strategy;
            var containerName = strategy.GetFolderForEntity(typeof(TEntity));

            _container = storage.CreateBlobClient().GetContainerReference(containerName);
        }
Пример #3
0
        /// <summary> Creates the simplified nuclear storage wrapper around Atomic storage. </summary>
        /// <param name="config">The storage config.</param>
        /// <param name="strategy">The atomic storage strategy.</param>
        /// <returns></returns>
        public static IDocumentStore CreateDocumentStore(this IAzureStorageConfig config,
                                                         IDocumentStrategy strategy)
        {
            var client = config.CreateBlobClient();

            return(new AzureDocumentStore(strategy, client));
        }
        public BlobTapeStorageFactory(IAzureStorageConfig config, string containerName)
        {
            if (containerName.Any(Char.IsUpper))
                throw new ArgumentException("All letters in a container name must be lowercase.");

            _cloudBlobClient = config.CreateBlobClient();
            _containerName = containerName;
        }
Пример #5
0
        public static BlobAppendOnlyStore CreateAppendOnlyStore(this IAzureStorageConfig config, string s)
        {
            var client = config.CreateBlobClient();
            var store  = new BlobAppendOnlyStore(client.GetContainerReference(s));

            store.InitializeWriter();
            return(store);
        }
 public static StatelessAzureQueueWriter Create(IAzureStorageConfig config, string name)
 {
     var queue = config.CreateQueueClient().GetQueueReference(name);
     var container = config.CreateBlobClient().GetContainerReference(name);
     var v = new StatelessAzureQueueWriter(container, queue, name);
     v.Init();
     return v;
 }
Пример #7
0
        /// <summary> Creates the simplified nuclear storage wrapper around Atomic storage. </summary>
        /// <param name="storageConfig">The storage config.</param>
        /// <param name="strategy">The atomic storage strategy.</param>
        /// <returns></returns>
        public static NuclearStorage CreateNuclear(this IAzureStorageConfig storageConfig,
                                                   IDocumentStrategy strategy)
        {
            var client = storageConfig.CreateBlobClient();

            var factory = new AzureDocumentStore(strategy, client);

            return(new NuclearStorage(factory));
        }
Пример #8
0
        public static StatelessAzureQueueWriter Create(IAzureStorageConfig config, string name)
        {
            var queue     = config.CreateQueueClient().GetQueueReference(name);
            var container = config.CreateBlobClient().GetContainerReference(name);
            var v         = new StatelessAzureQueueWriter(container, queue, name);

            v.Init();
            return(v);
        }
Пример #9
0
        CloudBlob GetBlob()
        {
            var name = _strategy.GetNameForSingleton(typeof(TView));

            return(_storage
                   .CreateBlobClient()
                   .GetContainerReference(_strategy.GetFolderForSingleton())
                   .GetBlobReference(name));
        }
        public BlobTapeStorageFactory(IAzureStorageConfig config, string containerName)
        {
            if (containerName.Any(Char.IsUpper))
            {
                throw new ArgumentException("All letters in a container name must be lowercase.");
            }

            _cloudBlobClient = config.CreateBlobClient();
            _containerName   = containerName;
        }
 public IQueueWriter GetWriteQueue(string queueName)
 {
     return(_writeQueues.GetOrAdd(queueName, name =>
     {
         var queue = _config.CreateQueueClient().GetQueueReference(name);
         var container = _config.CreateBlobClient().GetContainerReference(name);
         var v = new StatelessAzureQueueWriter(container, queue, name);
         v.Init();
         return v;
     }));
 }
        StatelessAzureQueueReader BuildIntake(string name)
        {
            var queue     = _config.CreateQueueClient().GetQueueReference(name);
            var container = _config.CreateBlobClient().GetContainerReference(name);

            var poisonQueue = new Lazy <CloudQueue>(() =>
            {
                var queueReference = _config.CreateQueueClient().GetQueueReference(name + "-poison");
                queueReference.CreateIfNotExist();
                return(queueReference);
            }, LazyThreadSafetyMode.ExecutionAndPublication);

            var reader = new StatelessAzureQueueReader(name, queue, container, poisonQueue, _observer, _streamer, _queueVisibilityTimeout);

            return(reader);
        }
Пример #13
0
        public static StatelessAzureQueueReader BuildIntake(IAzureStorageConfig cfg, string name,
            TimeSpan visibilityTimeout = default(TimeSpan))
        {
            var timeout = visibilityTimeout == default(TimeSpan) ? TimeSpan.FromMinutes(5) : visibilityTimeout;

            var queue = cfg.CreateQueueClient().GetQueueReference(name);

            var container = cfg.CreateBlobClient().GetBlobDirectoryReference("queues-big").GetSubdirectory(name);

            var poisonQueue = new Lazy<CloudQueue>(() =>
                {
                    var queueReference = cfg.CreateQueueClient().GetQueueReference(name + "-poison");
                    queueReference.CreateIfNotExist();
                    return queueReference;
                }, LazyThreadSafetyMode.ExecutionAndPublication);

            var reader = new StatelessAzureQueueReader(name, queue, container, poisonQueue, timeout);
            reader.InitIfNeeded();
            return reader;
        }
Пример #14
0
        static StatelessAzureQueueReader BuildIntake(IAzureStorageConfig cfg, string name,
                                                     TimeSpan visibilityTimeout = default(TimeSpan))
        {
            var timeout = visibilityTimeout == default(TimeSpan) ? TimeSpan.FromMinutes(5) : visibilityTimeout;

            var queue = cfg.CreateQueueClient().GetQueueReference(name);

            var container = cfg.CreateBlobClient().GetBlobDirectoryReference("queues-big").GetSubdirectory(name);

            var poisonQueue = new Lazy <CloudQueue>(() =>
            {
                var queueReference = cfg.CreateQueueClient().GetQueueReference(name + "-poison");
                queueReference.CreateIfNotExist();
                return(queueReference);
            }, LazyThreadSafetyMode.ExecutionAndPublication);

            var reader = new StatelessAzureQueueReader(name, queue, container, poisonQueue, timeout);

            reader.InitIfNeeded();
            return(reader);
        }
Пример #15
0
 /// <summary>
 /// Creates the streaming storage out of the provided storage config.
 /// </summary>
 /// <param name="config">The config.</param>
 /// <returns></returns>
 public static IStreamingRoot CreateStreaming(IAzureStorageConfig config)
 {
     return new BlobStreamingRoot(config.CreateBlobClient());
 }
Пример #16
0
 /// <summary>
 /// Creates the streaming storage out of the provided storage config.
 /// </summary>
 /// <param name="config">The config.</param>
 /// <returns></returns>
 public static IStreamingRoot CreateStreaming(IAzureStorageConfig config)
 {
     return(new BlobStreamingRoot(config.CreateBlobClient()));
 }
Пример #17
0
 public static void StreamingIsInAzure(this StorageModule self, IAzureStorageConfig storage)
 {
     self.StreamingIs(new BlobStreamingRoot(storage.CreateBlobClient()));
 }
 public static void StreamingIsInAzure(this StorageModule self, IAzureStorageConfig storage)
 {
     self.StreamingIs(new BlobStreamingRoot(storage.CreateBlobClient()));
 }