private static async Task InvokeBulkImportSproc() { int numDocs = 1000; ExampleDoc[] docs = new ExampleDoc[numDocs]; for (int i = 0; i < numDocs; i++) { ExampleDoc doc = new ExampleDoc { Id = Guid.NewGuid().ToString() }; docs[i] = doc; } var client = new DocumentClient(new Uri(Endpoint), AuthKey); Uri collectionLink = UriFactory.CreateDocumentCollectionUri(DbName, CollectionName); string scriptFileName = @"bulkImport.js"; string scriptId = Path.GetFileNameWithoutExtension(scriptFileName); string scriptName = "bulkImport"; await CreateSprocIfNotExists(scriptFileName, scriptId, scriptName); Uri sprocUri = UriFactory.CreateStoredProcedureUri(DbName, CollectionName, scriptName); try { await client.ExecuteStoredProcedureAsync <int>(sprocUri, transactionId.ToString(), docs); } catch (DocumentClientException ex) { throw; } catch (AggregateException ex) { // If bulk import failed, delete all documents in the collection with TransactionId = id of the failed transaction. InvokeBulkDeleteSproc().Wait(); } }
private static async Task InvokeBulkImportSproc() { int numDocs = 1000; ExampleDoc[] docs = new ExampleDoc[numDocs]; for (int i = 0; i < numDocs; i++) { ExampleDoc doc = new ExampleDoc { Id = Guid.NewGuid().ToString() }; docs[i] = doc; } var client = new DocumentClient(new Uri(Endpoint), AuthKey); Uri collectionLink = UriFactory.CreateDocumentCollectionUri(DbName, CollectionName); string scriptFileName = @"bulkImport.js"; string scriptId = Path.GetFileNameWithoutExtension(scriptFileName); string scriptName = "bulkImport"; await CreateSprocIfNotExists(scriptFileName, scriptId, scriptName); Uri sprocUri = UriFactory.CreateStoredProcedureUri(DbName, CollectionName, scriptName); try { await client.ExecuteStoredProcedureAsync<int>(sprocUri, transactionId.ToString(), docs); } catch (DocumentClientException ex) { throw; } catch (AggregateException ex) { // If bulk import failed, delete all documents in the collection with TransactionId = id of the failed transaction. InvokeBulkDeleteSproc().Wait(); } }