예제 #1
0
        static void Main(string[] args)
        {
            //Add build Configuration
            var configuration = new ConfigurationBuilder()
                                .SetBasePath(Directory.GetCurrentDirectory())
                                .AddJsonFile("appsettings.json", false)
                                .Build();

            //Load the gremlin config
            CosmosDBConfig config = new CosmosDBConfig();

            configuration.GetSection("CosmosDBConfig").Bind(config);
            new GremlinClientFactory(config);

            StorageAccountConfig saConfig = new StorageAccountConfig();

            configuration.GetSection("StorageAccountConfig").Bind(saConfig);

            //RunGremlinTestingRepository();
            //TestUserRepository();
            //RunStorageAccountUploadTest(saConfig);
            //RunTestOfContainerCreation(saConfig);
            //DownloadFileFromContainer(saConfig);
            TestPropertiesSerialization();
        }
예제 #2
0
        public TelemetryStorage(StorageAccountConfig storageConfig)
        {
            var credentials = new StorageCredentials(storageConfig.AccountName, storageConfig.AccountKey);
            var storage     = new CloudStorageAccount(credentials, true);

            _tableClient = storage.CreateCloudTableClient();
        }
예제 #3
0
 static void InitConfig()
 {
     _config = new ConfigurationBuilder()
               .AddJsonFile("Config\\appsettings.json", true, true)
               .Build();
     _eventHubConfig       = _config.GetSection("EventHub").Get <EventHubConfig>();
     _storageAccountConfig = _config.GetSection("StorageAccount").Get <StorageAccountConfig>();
 }
예제 #4
0
        private static void CleanupTelemetry(StorageAccountConfig account)
        {
            Trace.TraceInformation("Cleaning up telemetry in account:{0}", account.AccountName);
            var credentials = new StorageCredentials(account.AccountName, account.AccountKey);
            var storage     = new CloudStorageAccount(credentials, useHttps: true);
            var tableClient = storage.CreateCloudTableClient();

            var tables = tableClient.ListTables("Telemetry");

            foreach (var table in tables)
            {
                if (DeleteTable(table))
                {
                    Trace.TraceWarning("Deleting table: {0}", table.Name);
                    table.Delete();
                }
                else
                {
                    Trace.TraceInformation("Ignoring table:{0} as per retention policy", table.Name);
                }
            }
            Trace.TraceInformation("Cleaned telemety for account:{0}", account.AccountName);
        }
 public AzureBlobCache(StorageAccountConfig storageConfig) :
     this(new CloudStorageAccount(new StorageCredentials(storageConfig.AccountName, storageConfig.AccountKey), true))
 {
 }
예제 #6
0
        private static void RunTestOfContainerCreation(StorageAccountConfig config)
        {
            PhotoRepository pr = new PhotoRepository(config.ConnectionString);

            pr.CreateContainer(config.ContainerName, config.UploadPath).Wait();
        }
예제 #7
0
 private static void RunStorageAccountUploadTest(StorageAccountConfig config)
 {
     PhotoRepository pr     = new PhotoRepository(config.ConnectionString);
     var             result = pr.UploadPhoto(config.ContainerName, config.UploadPath).Result;
 }
예제 #8
0
        private static void DownloadFileFromContainer(StorageAccountConfig config)
        {
            PhotoRepository pr = new PhotoRepository(config.ConnectionString);

            pr.DownloadPhoto(config.ContainerName, config.UploadPath).Wait();
        }