예제 #1
0
        private static async Task DeleteDatabase()
        {
            string dbname = cliArgs[1];

            cosmosClient = CosmosClientFactory.RegularClient();
            CosmosAdminUtil util       = new CosmosAdminUtil(cosmosClient, config.IsVerbose());
            int             statusCode = await util.DeleteDatabase(dbname);

            Console.WriteLine($"DeleteDatabase {dbname} -> statusCode {statusCode}");  // 204 expected
        }
예제 #2
0
        private static async Task DeleteContainer()
        {
            string dbname = cliArgs[1];
            string cname  = cliArgs[2];

            cosmosClient = CosmosClientFactory.RegularClient();
            CosmosAdminUtil util       = new CosmosAdminUtil(cosmosClient, config.IsVerbose());
            int             statusCode = await util.DeleteContainer(dbname, cname);

            Console.WriteLine($"DeleteContainer {dbname} {cname} -> statusCode {statusCode}");
        }
예제 #3
0
        private static async Task UpdateDatabaseThroughput()
        {
            string dbname   = cliArgs[1];
            int    sharedRu = Int32.Parse(cliArgs[2]);

            cosmosClient = CosmosClientFactory.RegularClient();
            CosmosAdminUtil util       = new CosmosAdminUtil(cosmosClient, config.IsVerbose());
            int             statusCode = await util.UpdateDatabaseThroughput(dbname, sharedRu);

            Console.WriteLine($"UpdateDatabaseThroughput {dbname} {sharedRu} -> statusCode {statusCode}");
        }
예제 #4
0
        private static async Task UpdateContainerIndexing()
        {
            string dbname = cliArgs[1];
            string cname  = cliArgs[2];
            string infile = cliArgs[3];

            cosmosClient = CosmosClientFactory.RegularClient();
            CosmosAdminUtil util = new CosmosAdminUtil(cosmosClient, config.IsVerbose());
            // int statusCode = await util.UpdateContainerIndexing(dbname, cname, infile);
            // Console.WriteLine($"UpdateContainerThroughput {dbname} {cname} {ru} -> statusCode {statusCode}");
            await Task.Delay(0);
        }
예제 #5
0
        private static async Task UpdateContainerThroughput()
        {
            string dbname = cliArgs[1];
            string cname  = cliArgs[2];
            int    ru     = Int32.Parse(cliArgs[3]);

            cosmosClient = CosmosClientFactory.RegularClient();
            CosmosAdminUtil util       = new CosmosAdminUtil(cosmosClient, config.IsVerbose());
            int             statusCode = await util.UpdateContainerThroughput(dbname, cname, ru);

            Console.WriteLine($"UpdateContainerThroughput {dbname} {cname} {ru} -> statusCode {statusCode}");
        }
예제 #6
0
        private static async Task CreateDatabase()
        {
            string dbname   = cliArgs[1];
            int    sharedRu = Int32.Parse(cliArgs[2]);

            cosmosClient = CosmosClientFactory.RegularClient();
            CosmosAdminUtil  util = new CosmosAdminUtil(cosmosClient, config.IsVerbose());
            DatabaseResponse resp = await util.CreateDatabase(dbname, sharedRu);

            Console.WriteLine(
                $"CreateDatabase {dbname} {sharedRu} -> status code {resp.StatusCode}, RU {resp.RequestCharge}");
        }
예제 #7
0
        private static async Task CreateContainer()
        {
            string dbname = cliArgs[1];
            string cname  = cliArgs[2];
            string pk     = cliArgs[3];
            int    ru     = Int32.Parse(cliArgs[4]);

            cosmosClient = CosmosClientFactory.RegularClient();
            CosmosAdminUtil util = new CosmosAdminUtil(cosmosClient, config.IsVerbose());
            string          id   = await util.CreateContainer(dbname, cname, pk, ru);

            Console.WriteLine($"CreateContainer {dbname} {cname} {ru} -> Id {id}");
        }
예제 #8
0
        /**
         * Use the cosmosClient to "warm it up" before starting a timed performance test.
         */
        private static async Task WarmupClient(string dbname, string cname)
        {
            CosmosAdminUtil util          = new CosmosAdminUtil(cosmosClient, config.IsVerbose());
            List <string>   containerList = await util.ListContainers(dbname);

            Console.WriteLine($"ListContainers - count {containerList.Count}");
            for (int i = 0; i < containerList.Count; i++)
            {
                string name = containerList[i];
                if (name.Equals(cname))
                {
                    Console.WriteLine($"OK: container {cname} is present in db: {dbname}");
                }
            }
        }
예제 #9
0
        private static async Task TruncateContainer()
        {
            string dbname = cliArgs[1];
            string cname  = cliArgs[2];

            cosmosClient = CosmosClientFactory.RegularClient();
            CosmosAdminUtil util = new CosmosAdminUtil(cosmosClient, config.IsVerbose());
            await util.SetCurrentDatabase(dbname);

            await util.SetCurrentContainer(cname);

            int deleteOperations = await util.TruncateContainer();

            Console.WriteLine($"TruncateContainer {dbname} {cname} -> deleteOperations {deleteOperations}");
        }
예제 #10
0
        private static async Task ListContainers()
        {
            string dbname = cliArgs[1];

            cosmosClient = CosmosClientFactory.RegularClient();
            CosmosAdminUtil util          = new CosmosAdminUtil(cosmosClient, config.IsVerbose());
            List <string>   containerList = await util.ListContainers(dbname);

            Console.WriteLine($"ListContainers - count {containerList.Count}");
            for (int i = 0; i < containerList.Count; i++)
            {
                string cname = containerList[i];
                Console.WriteLine($"container in db: {dbname} -> {cname}");
            }
        }
예제 #11
0
        private static async Task ListDatabases()
        {
            cosmosClient = CosmosClientFactory.RegularClient();
            CosmosAdminUtil util   = new CosmosAdminUtil(cosmosClient, config.IsVerbose());
            List <string>   dbList = await util.ListDatabases();

            Console.WriteLine($"ListDatabases - count {dbList.Count}");
            for (int i = 0; i < dbList.Count; i++)
            {
                string   dbname = dbList[i];
                Database db     = await util.GetDatabase(dbname);

                int?currentRU = await db.ReadThroughputAsync();

                if (currentRU == null)
                {
                    Console.WriteLine($"database {i+1}: {dbname} non-shared");
                }
                else
                {
                    Console.WriteLine($"database {i+1}: {dbname} current RU {currentRU}");
                }
            }
        }