CosmosBulkExecutionOptions Class
- java.
lang. Object - com.
azure. cosmos. models. CosmosBulkExecutionOptions
- com.
public final class CosmosBulkExecutionOptions
Encapsulates options that can be specified for operations used in Bulk execution. It can be passed while processing bulk operations.
Constructor Summary
Constructor | Description |
---|---|
CosmosBulkExecutionOptions() |
Constructor |
CosmosBulkExecutionOptions(CosmosBulkExecutionThresholdsState thresholdsState) |
Constructor |
Method Summary
Modifier and Type | Method and Description |
---|---|
Cosmos |
getCustomItemSerializer()
Gets the custom item serializer defined for this instance of request options |
List<String> |
getExcludedRegions()
Gets the list of regions to be excluded for the request/retries. |
int |
getInitialMicroBatchSize()
Gets the initial size of micro batches that will be sent to the backend. |
Set<String> |
getKeywordIdentifiers()
Gets the custom ids. |
int |
getMaxMicroBatchConcurrency()
The maximum concurrency for executing requests for a partition key range. |
int |
getMaxMicroBatchSize()
The maximum batch size for bulk operations. |
Cosmos |
getThresholdsState()
Returns threshold state that can be passed to other Cosmos |
String |
getThroughputControlGroupName()
Gets the throughput control group name. |
Cosmos |
setCustomItemSerializer(CosmosItemSerializer customItemSerializer)
Allows specifying a custom item serializer to be used for this operation. |
Cosmos |
setExcludedRegions(List<String> excludeRegions)
List of regions to exclude for the request/retries. |
Cosmos |
setInitialMicroBatchSize(int initialMicroBatchSize)
Sets the initial size of micro batches that will be sent to the backend. |
Cosmos |
setKeywordIdentifiers(Set<String> keywordIdentifiers)
Sets the custom ids. |
Cosmos |
setMaxMicroBatchConcurrency(int maxMicroBatchConcurrency)
Set the maximum concurrency for executing requests for a partition key range. |
Cosmos |
setMaxMicroBatchSize(int maxMicroBatchSize)
The maximum batch size for bulk operations. |
Cosmos |
setThroughputControlGroupName(String throughputControlGroupName)
Sets the throughput control group name. |
Methods inherited from java.lang.Object
Constructor Details
CosmosBulkExecutionOptions
public CosmosBulkExecutionOptions()
Constructor
CosmosBulkExecutionOptions
public CosmosBulkExecutionOptions(CosmosBulkExecutionThresholdsState thresholdsState)
Constructor
Parameters:
Method Details
getCustomItemSerializer
public CosmosItemSerializer getCustomItemSerializer()
Gets the custom item serializer defined for this instance of request options
Returns:
getExcludedRegions
public List
Gets the list of regions to be excluded for the request/retries. These regions are excluded from the preferred region list.
Returns:
getInitialMicroBatchSize
public int getInitialMicroBatchSize()
Gets the initial size of micro batches that will be sent to the backend. The size of micro batches will be dynamically adjusted based on the throttling rate. The default value is 100 - so, it starts with relatively large micro batches and when the throttling rate is too high, it will reduce the batch size. When the short spikes of throttling before dynamically reducing the initial batch size results in side effects for other workloads the initial micro batch size can be reduced - for example set to 1 - at which point it would start with small micro batches and then increase the batch size over time.
Returns:
getKeywordIdentifiers
public Set
Gets the custom ids.
Returns:
getMaxMicroBatchConcurrency
public int getMaxMicroBatchConcurrency()
The maximum concurrency for executing requests for a partition key range. By default, the maxMicroBatchConcurrency is 1.
Returns:
getMaxMicroBatchSize
public int getMaxMicroBatchSize()
The maximum batch size for bulk operations. Once queued docs exceed this value, the micro batch will be flushed to the wire.
Returns:
getThresholdsState
public CosmosBulkExecutionThresholdsState getThresholdsState()
Returns threshold state that can be passed to other CosmosBulkExecutionOptions in the future
Returns:
getThroughputControlGroupName
public String getThroughputControlGroupName()
Gets the throughput control group name.
Returns:
setCustomItemSerializer
public CosmosBulkExecutionOptions setCustomItemSerializer(CosmosItemSerializer customItemSerializer)
Allows specifying a custom item serializer to be used for this operation. If the serializer on the request options is null, the serializer on CosmosClientBuilder is used. If both serializers are null (the default), an internal Jackson ObjectMapper is ued for serialization/deserialization.
Parameters:
Returns:
setExcludedRegions
public CosmosBulkExecutionOptions setExcludedRegions(List
List of regions to exclude for the request/retries. Example "East US" or "East US, West US" These regions will be excluded from the preferred regions list
Parameters:
Returns:
setInitialMicroBatchSize
public CosmosBulkExecutionOptions setInitialMicroBatchSize(int initialMicroBatchSize)
Sets the initial size of micro batches that will be sent to the backend. The size of micro batches will be dynamically adjusted based on the throttling rate. The default value is 100 - so, it starts with relatively large micro batches and when the throttling rate is too high, it will reduce the batch size. When the short spikes of throttling before dynamically reducing the initial batch size results in side effects for other workloads the initial micro batch size can be reduced - for example set to 1 - at which point it would start with small micro batches and then increase the batch size over time.
Parameters:
Returns:
setKeywordIdentifiers
public CosmosBulkExecutionOptions setKeywordIdentifiers(Set
Sets the custom ids.
Parameters:
Returns:
setMaxMicroBatchConcurrency
public CosmosBulkExecutionOptions setMaxMicroBatchConcurrency(int maxMicroBatchConcurrency)
Set the maximum concurrency for executing requests for a partition key range. By default, the maxMicroBatchConcurrency is 1. It only allows values ?1 and ?5. Attention! Please adjust this value with caution. By increasing this value, more concurrent requests will be allowed to be sent to the server, in which case may cause 429 or request timed out due to saturate local resources, which could degrade the performance.
Parameters:
Returns:
setMaxMicroBatchSize
public CosmosBulkExecutionOptions setMaxMicroBatchSize(int maxMicroBatchSize)
The maximum batch size for bulk operations. Once queued docs exceed this value, the micro batch will be flushed to the wire.
Parameters:
Returns:
setThroughputControlGroupName
public CosmosBulkExecutionOptions setThroughputControlGroupName(String throughputControlGroupName)
Sets the throughput control group name.
Parameters:
Returns:
Applies to
Azure SDK for Java