use of com.azure.cosmos.examples.common.Family in project azure-cosmos-java-sql-api-samples by Azure-Samples.
the class SampleBulkQuickStartAsync method getStartedDemo.
private void getStartedDemo() {
logger.info("Using Azure Cosmos DB endpoint: " + AccountSettings.HOST);
ArrayList<String> preferredRegions = new ArrayList<>();
preferredRegions.add("West US");
// Setting the preferred location to Cosmos DB Account region
// West US is just an example. User should set preferred location to the Cosmos DB region closest to the
// application
// Create async client
// <CreateAsyncClient>
client = new CosmosClientBuilder().endpoint(AccountSettings.HOST).key(AccountSettings.MASTER_KEY).preferredRegions(preferredRegions).contentResponseOnWriteEnabled(true).consistencyLevel(ConsistencyLevel.SESSION).buildAsyncClient();
// </CreateAsyncClient>
createDatabaseIfNotExists();
createContainerIfNotExists();
Family andersenFamilyItem = Families.getAndersenFamilyItem();
Family wakefieldFamilyItem = Families.getWakefieldFamilyItem();
Family johnsonFamilyItem = Families.getJohnsonFamilyItem();
Family smithFamilyItem = Families.getSmithFamilyItem();
// Setup family items to create
Flux<Family> families = Flux.just(andersenFamilyItem, wakefieldFamilyItem, johnsonFamilyItem, smithFamilyItem);
logger.info("Bulk creates.");
bulkCreateItems(families);
bulkCreateItems(families);
andersenFamilyItem.setRegistered(false);
wakefieldFamilyItem.setRegistered(false);
Flux<Family> familiesToUpsert = Flux.just(andersenFamilyItem, wakefieldFamilyItem, johnsonFamilyItem, smithFamilyItem);
logger.info("Bulk upserts.");
bulkUpsertItems(familiesToUpsert);
andersenFamilyItem.setRegistered(true);
wakefieldFamilyItem.setRegistered(true);
Flux<Family> familiesToReplace = Flux.just(andersenFamilyItem, wakefieldFamilyItem, johnsonFamilyItem, smithFamilyItem);
logger.info("Bulk replace.");
bulkReplaceItems(familiesToReplace);
logger.info("Bulk deletes.");
bulkDeleteItems(families);
logger.info("Bulk create response processing without errors.");
bulkCreateItemsWithResponseProcessing(families);
logger.info("Bulk create response processing with 409 error");
bulkCreateItemsWithResponseProcessing(families);
logger.info("Bulk deletes.");
bulkDeleteItems(families);
logger.info("Bulk creates with execution options.");
bulkCreateItemsWithExecutionOptions(families);
logger.info("Bulk deletes.");
bulkDeleteItems(families);
logger.info("Bulk upserts with BulkWriter abstraction");
bulkUpsertItemsWithBulkWriterAbstraction();
logger.info("Bulk upserts with BulkWriter Abstraction and Local Throughput Control");
bulkUpsertItemsWithBulkWriterAbstractionAndLocalThroughPutControl();
logger.info("Bulk upserts with BulkWriter Abstraction and Global Throughput Control");
bulkCreateItemsWithBulkWriterAbstractionAndGlobalThroughputControl();
}
use of com.azure.cosmos.examples.common.Family in project azure-cosmos-java-sql-api-samples by Azure-Samples.
the class SampleBulkQuickStartAsync method bulkUpsertItemsWithBulkWriterAbstractionAndLocalThroughPutControl.
// BulkWriter Abstraction
private void bulkUpsertItemsWithBulkWriterAbstractionAndLocalThroughPutControl() {
ThroughputControlGroupConfig groupConfig = new ThroughputControlGroupConfigBuilder().setGroupName("group1").setTargetThroughput(200).build();
container.enableLocalThroughputControlGroup(groupConfig);
Family andersenFamilyItem = Families.getAndersenFamilyItem();
Family wakefieldFamilyItem = Families.getWakefieldFamilyItem();
CosmosItemOperation wakeFieldItemOperation = CosmosBulkOperations.getUpsertItemOperation(wakefieldFamilyItem, new PartitionKey(wakefieldFamilyItem.getLastName()));
CosmosItemOperation andersonItemOperation = CosmosBulkOperations.getUpsertItemOperation(andersenFamilyItem, new PartitionKey(andersenFamilyItem.getLastName()));
BulkWriter bulkWriter = new BulkWriter(container);
bulkWriter.scheduleWrites(andersonItemOperation);
bulkWriter.scheduleWrites(wakeFieldItemOperation);
bulkWriter.execute().subscribe();
}
use of com.azure.cosmos.examples.common.Family in project azure-cosmos-java-sql-api-samples by Azure-Samples.
the class SampleBulkQuickStartAsync method bulkCreateItemsWithBulkWriterAbstractionAndGlobalThroughputControl.
// BulkWriter Abstraction
private void bulkCreateItemsWithBulkWriterAbstractionAndGlobalThroughputControl() {
String controlContainerId = "throughputControlContainer";
CosmosAsyncContainer controlContainer = database.getContainer(controlContainerId);
database.createContainerIfNotExists(controlContainer.getId(), "/groupId").block();
ThroughputControlGroupConfig groupConfig = new ThroughputControlGroupConfigBuilder().setGroupName("group-" + UUID.randomUUID()).setTargetThroughput(200).build();
GlobalThroughputControlConfig globalControlConfig = this.client.createGlobalThroughputControlConfigBuilder(this.database.getId(), controlContainerId).setControlItemRenewInterval(Duration.ofSeconds(5)).setControlItemExpireInterval(Duration.ofSeconds(20)).build();
container.enableGlobalThroughputControlGroup(groupConfig, globalControlConfig);
CosmosItemRequestOptions requestOptions = new CosmosItemRequestOptions();
requestOptions.setThroughputControlGroupName(groupConfig.getGroupName());
Family andersenFamilyItem = Families.getAndersenFamilyItem();
Family wakefieldFamilyItem = Families.getWakefieldFamilyItem();
CosmosItemOperation andersonItemOperation = CosmosBulkOperations.getCreateItemOperation(andersenFamilyItem, new PartitionKey(andersenFamilyItem.getLastName()));
CosmosItemOperation wakeFieldItemOperation = CosmosBulkOperations.getCreateItemOperation(wakefieldFamilyItem, new PartitionKey(wakefieldFamilyItem.getLastName()));
BulkWriter bulkWriter = new BulkWriter(container);
bulkWriter.scheduleWrites(andersonItemOperation);
bulkWriter.scheduleWrites(wakeFieldItemOperation);
bulkWriter.execute().subscribe();
}
use of com.azure.cosmos.examples.common.Family in project azure-cosmos-java-sql-api-samples by Azure-Samples.
the class SampleConflictFeedAsync method getStartedDemo.
// </Main>
private void getStartedDemo() throws Exception {
logger.info("Using Azure Cosmos DB endpoint: " + AccountSettings.HOST);
ArrayList<String> preferredRegions = new ArrayList<String>();
preferredRegions.add("West US");
// Setting the preferred location to Cosmos DB Account region
// West US is just an example. User should set preferred location to the Cosmos DB region closest to the application
// Create async client
// <CreateAsyncClient>
client = new CosmosClientBuilder().endpoint(AccountSettings.HOST).key(AccountSettings.MASTER_KEY).preferredRegions(preferredRegions).contentResponseOnWriteEnabled(true).consistencyLevel(ConsistencyLevel.SESSION).buildAsyncClient();
// </CreateAsyncClient>
createDatabaseIfNotExists();
createContainerIfNotExists();
Family andersenFamilyItem = Families.getAndersenFamilyItem();
Family wakefieldFamilyItem = Families.getWakefieldFamilyItem();
Family johnsonFamilyItem = Families.getJohnsonFamilyItem();
Family smithFamilyItem = Families.getSmithFamilyItem();
// Setup family items to create
Flux<Family> familiesToCreate = Flux.just(andersenFamilyItem, wakefieldFamilyItem, johnsonFamilyItem, smithFamilyItem);
// Creates several items in the container
createFamilies(familiesToCreate);
// Upsert one of the items in the container
upsertFamily(wakefieldFamilyItem);
familiesToCreate = Flux.just(andersenFamilyItem, wakefieldFamilyItem, johnsonFamilyItem, smithFamilyItem);
logger.info("Reading items.");
readItems(familiesToCreate);
logger.info("Querying items.");
queryItems();
logger.info("Deleting an item.");
deleteItem(andersenFamilyItem);
}
use of com.azure.cosmos.examples.common.Family in project azure-cosmos-java-sql-api-samples by Azure-Samples.
the class DocumentCRUDQuickstart method createDocument.
private void createDocument() throws Exception {
logger.info("Create document " + documentId);
// Define a document as a POJO (internally this
// is converted to JSON via custom serialization)
Family family = new Family();
family.setLastName(documentLastName);
family.setId(documentId);
// Insert this item as a document
// Explicitly specifying the /pk value improves performance.
container.createItem(family, new PartitionKey(family.getLastName()), new CosmosItemRequestOptions());
logger.info("Done.");
}
Aggregations