Esempio n. 1
0
        public static async Task Main(string[] args)
        {
            try
            {
                IConfigurationRoot configuration = new ConfigurationBuilder()
                                                   .AddJsonFile("appSettings.json")
                                                   .Build();

                //Initialize Cosmos Client
                _accountName = GetConfigValueOrDefault <string>(configuration, "AccountName", true);
                _accountKey  = GetConfigValueOrDefault <string>(configuration, "AccountKey", true);
                _databaseId  = GetConfigValueOrDefault <string>(configuration, "DatabaseId", true);
                _containerId = GetConfigValueOrDefault <string>(configuration, "ContainerId", true);

                _sqlClient = await CosmosClientSql.GetByAccountName(_accountName, _accountKey, _databaseId, _containerId, new CreateOptions(_databaseId, _containerId));

                Console.Title = "CosmosDB.NET SQL Sample";
                await new ConsoleREPL(new Program()).RunLoop();
            }
            catch (CosmosException cre)
            {
                Console.WriteLine(cre.ToString());
            }
            catch (Exception e)
            {
                Exception baseException = e.GetBaseException();
                Console.WriteLine("Error: {0}, Message: {1}", e.Message, baseException.Message);
            }
            finally
            {
                Console.WriteLine("End of demo, press any key to exit.");
                Console.ReadKey();
            }
        }
        public async Task GetClientWithConnectionStringNoContainerContainerTrhoughput()
        {
            var dbId = "core";
            var cId  = "newContainer";
            ICosmosClientSql client = null;

            try
            {
                await Assert.ThrowsExceptionAsync <CosmosException>(() => CosmosClientSql.GetByConnectionString(connectionString, dbId, cId));

                client = await CosmosClientSql.GetByConnectionString(connectionString, dbId, cId, new CreateOptions(dbId, cId, "/pk") { DatabaseThrouhput = 400, ContainerThroughput = 400 });

                //The database already exists, the new value we set should not have been applied.
                var databaseRUs = await client.Database.ReadThroughputAsync();

                Assert.AreNotEqual(400, databaseRUs.Value);

                var container = await client.Container.ReadContainerAsync();

                Assert.AreEqual("/pk", container.Resource.PartitionKeyPath);

                var containerRUs = await client.Container.ReadThroughputAsync();

                Assert.AreEqual(400, containerRUs.Value);

                var read = await client.ExecuteSQL <int>($"SELECT VALUE COUNT(c) FROM c");

                Assert.IsTrue(read.IsSuccessful);
                Assert.AreEqual(0, read.Result.FirstOrDefault());
            }
            finally
            {
                await client?.Container.DeleteContainerAsync();
            }
        }
Esempio n. 3
0
        public static async Task Initialize(TestContext context)
        {
            var moviesCsv = Helpers.GetFromCsv <MovieCsv>(moviesTestDataPath);
            var castCsv   = Helpers.GetFromCsv <CastCsv>(castTestDataPath);

            var cast = castCsv.GroupBy(k => k.MovieId).ToDictionary(k => k.Key, v => v.ToList());

            _moviesWithCast = moviesCsv.Select(m => MovieFull.GetMovieFull(m, cast.ContainsKey(m.TmdbId) ? cast[m.TmdbId] : new List <CastCsv>())).ToList();
            //Don't add Cast into the movie document - testing performance vs graph
            _movies = moviesCsv.Select(m => MovieFull.GetMovieFull(m, new List <CastCsv>())).ToList();

            Assert.AreEqual(4802, moviesCsv.Count());

            _cosmosClient = await CosmosClientSql.GetByConnectionString(connectionString, databaseId, containerId);
        }
        public async Task GetClientWithConnectionStringNoDatabaseNoContainerDatabaseAndContainerTrhoughput()
        {
            var dbId = DateTime.Now.Ticks.ToString();
            var cId  = "newContainer";
            ICosmosClientSql client = null;

            try
            {
                await Assert.ThrowsExceptionAsync <CosmosException>(() => CosmosClientSql.GetByConnectionString(connectionString, dbId, cId));

                client = await CosmosClientSql.GetByConnectionString(connectionString, dbId, cId, new CreateOptions(dbId, cId) { DatabaseThrouhput = 1000, ContainerThroughput = 1000 });;;

                var read = await client.ExecuteSQL <int>($"SELECT VALUE COUNT(c) FROM c");

                Assert.IsTrue(read.IsSuccessful);
                Assert.AreEqual(0, read.Result.FirstOrDefault());
            }
            finally
            {
                await client?.Database.DeleteAsync();
            }
        }