public AzureEventStoreManager(AzureStoreConfiguration config)
{
_config = config;
var account = CloudStorageAccount.Parse(config.ConnectionString);
var client = account.CreateCloudBlobClient();
var rootAzureContainer = client.GetContainerReference(config.RootBlobContainerName);
rootAzureContainer.CreateIfNotExist();
foreach (var blob in rootAzureContainer.ListBlobs())
{
var dir = blob as CloudBlobDirectory;
if (dir == null)
{
continue;
}
EventStoreId container;
if (AzureEventStore.TryGetContainerName(_config, dir, out container))
{
var value = AzureEventStore.OpenExistingForWriting(config, container);
_stores.Add(container.Name, value);
}
else
{
Log.Info("Skipping invalid folder {0}", rootAzureContainer.Uri.MakeRelativeUri(dir.Uri));
}
}
}