コード例 #1
0
        internal static void StoredProcedureToInsertDocuments(IConfigurationRoot configuration)
        {
            using (DocumentClient cosmosDocumentClient = new DocumentClient(new Uri(configuration["CosmosHost"]), configuration["CosmosKey"]))
            {
                employee emp1, emp2, emp3;
                EmployeeMockData.MockEmployeeDataOutError(out emp1, out emp2, out emp3);

                var storedProcResult = cosmosDocumentClient.ExecuteStoredProcedureAsync <object>
                                           (UriFactory.CreateStoredProcedureUri(configuration["DatabaseId"], "employee", "createEmployees"),
                                           new RequestOptions
                {
                    PartitionKey = new Microsoft.Azure.Documents.PartitionKey("Hyderabad")
                }, JsonConvert.SerializeObject(new object[] { emp1, emp2, emp3 })).Result;
                Console.WriteLine(storedProcResult.Response);
            }
        }
コード例 #2
0
        internal static void TransactionUsingSdk(IConfigurationRoot configuration)
        {
            employee emp1, emp2, emp3;

            EmployeeMockData.MockEmployeeDataOutError(out emp1, out emp2, out emp3);

            employee emp4, emp5, emp6;

            EmployeeMockData.MockEmployeeDataOutNoError(out emp4, out emp5, out emp6);

            using (CosmosClient cosmosClient = new CosmosClient(configuration["CosmosHost"], configuration["CosmosKey"]))
            {
                var containerHandle = cosmosClient.GetContainer(configuration["DatabaseId"], "employee");

                //Error Batch
                var resultError = containerHandle.CreateTransactionalBatch(new PartitionKey("Hyderabad"))
                                  .CreateItem(emp1)
                                  .CreateItem(emp2)
                                  .CreateItem(emp3)
                                  .ExecuteAsync()
                                  .Result;

                RenderResult(resultError, 3);

                //Error Batch Without Error record
                var resultTwoItems = containerHandle.CreateTransactionalBatch(new PartitionKey("Hyderabad"))
                                     .CreateItem(emp1)
                                     .CreateItem(emp2)
                                     .ExecuteAsync()
                                     .Result;

                RenderResult(resultTwoItems, 2);

                //Ok Batch
                var resultOk = containerHandle.CreateTransactionalBatch(new PartitionKey("Hyderabad"))
                               .UpsertItem(emp1)
                               .UpsertItem(emp2)
                               .CreateItem(emp4)
                               .CreateItem(emp5)
                               .CreateItem(emp6)
                               .ExecuteAsync()
                               .Result;

                RenderResult(resultOk, 5);
            }
        }
コード例 #3
0
        internal static void TriggerWhileInsertDocuments(IConfigurationRoot configuration)
        {
            List <employee> empList = EmployeeMockData.MockEmployeeDataList();

            using (CosmosClient cosmosClient = new CosmosClient(configuration["CosmosHost"], configuration["CosmosKey"]))
            {
                var objectToPush = empList;

                var containerHandle = cosmosClient.GetContainer(configuration["DatabaseId"], "employee");
                objectToPush.ForEach(v =>
                {
                    var result = containerHandle.UpsertItemAsync(v,
                                                                 requestOptions: new ItemRequestOptions()
                    {
                        PreTriggers = new List <string>()
                        {
                            "setFullName"
                        }
                    }).Result;
                    Console.WriteLine(JsonConvert.SerializeObject(result));
                    Console.WriteLine();
                });
            }
        }