Class CosmosQueryRequestOptions
- java.lang.Object
-
- com.azure.cosmos.models.CosmosQueryRequestOptions
-
public class CosmosQueryRequestOptions extends Object
Specifies the options associated with query methods (enumeration operations) in the Azure Cosmos DB database service.
-
-
Constructor Summary
Constructors Constructor Description CosmosQueryRequestOptions()
Instantiates a new query request options.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ConsistencyLevel
getConsistencyLevel()
Gets the consistency level required for the request.DedicatedGatewayRequestOptions
getDedicatedGatewayRequestOptions()
Gets the Dedicated Gateway Request OptionsFeedRange
getFeedRange()
Gets theFeedRange
int
getMaxBufferedItemCount()
Gets the maximum number of items that can be buffered client side during parallel query execution.int
getMaxDegreeOfParallelism()
Gets the number of concurrent operations run client side during parallel query execution.PartitionKey
getPartitionKey()
Gets the partition key used to identify the current request's target partition.int
getResponseContinuationTokenLimitInKb()
Gets the ResponseContinuationTokenLimitInKb request option for item query requests in the Azure Cosmos DB service.String
getSessionToken()
Gets the session token for use with session consistency.Duration
getThresholdForDiagnosticsOnTracer()
Gets the thresholdForDiagnosticsOnTracer, if latency on query operation is greater than this diagnostics will be send to open telemetry exporter as events in tracer span of end to end CRUD api.String
getThroughputControlGroupName()
Get throughput control group name.boolean
isIndexMetricsEnabled()
Gets indexMetricsEnabled, which is used to obtain the index metrics to understand how the query engine used existing indexes and could use potential new indexes.boolean
isQueryMetricsEnabled()
Gets the option to enable populate query metrics.Boolean
isScanInQueryEnabled()
Gets the option to allow scan on the queries which couldn't be served as indexing was opted out on the requested paths.CosmosQueryRequestOptions
setConsistencyLevel(ConsistencyLevel consistencyLevel)
Sets the consistency level required for the request.CosmosQueryRequestOptions
setDedicatedGatewayRequestOptions(DedicatedGatewayRequestOptions dedicatedGatewayRequestOptions)
Sets the Dedicated Gateway Request OptionsCosmosQueryRequestOptions
setFeedRange(FeedRange feedRange)
Sets theFeedRange
that we want to queryCosmosQueryRequestOptions
setIndexMetricsEnabled(boolean indexMetricsEnabled)
Sets indexMetricsEnabled, which is used to obtain the index metrics to understand how the query engine used existing indexes and could use potential new indexes.CosmosQueryRequestOptions
setMaxBufferedItemCount(int maxBufferedItemCount)
Sets the maximum number of items that can be buffered client side during parallel query execution.CosmosQueryRequestOptions
setMaxDegreeOfParallelism(int maxDegreeOfParallelism)
Sets the number of concurrent operations run client side during parallel query execution.CosmosQueryRequestOptions
setPartitionKey(PartitionKey partitionkey)
Sets the partition key used to identify the current request's target partition.CosmosQueryRequestOptions
setQueryMetricsEnabled(boolean queryMetricsEnabled)
Sets the option to enable/disable getting metrics relating to query execution on item query requests.CosmosQueryRequestOptions
setResponseContinuationTokenLimitInKb(int limitInKb)
Sets the ResponseContinuationTokenLimitInKb request option for item query requests in the Azure Cosmos DB service.CosmosQueryRequestOptions
setScanInQueryEnabled(Boolean scanInQueryEnabled)
Sets the option to allow scan on the queries which couldn't be served as indexing was opted out on the requested paths.CosmosQueryRequestOptions
setSessionToken(String sessionToken)
Sets the session token for use with session consistency.CosmosQueryRequestOptions
setThresholdForDiagnosticsOnTracer(Duration thresholdForDiagnosticsOnTracer)
Sets the thresholdForDiagnosticsOnTracer, if latency on query operation is greater than this diagnostics will be send to open telemetry exporter as events in tracer span of end to end CRUD api.CosmosQueryRequestOptions
setThroughputControlGroupName(String throughputControlGroupName)
Set the throughput control group name.
-
-
-
Method Detail
-
getConsistencyLevel
public ConsistencyLevel getConsistencyLevel()
Gets the consistency level required for the request.- Returns:
- the consistency level.
-
setConsistencyLevel
public CosmosQueryRequestOptions setConsistencyLevel(ConsistencyLevel consistencyLevel)
Sets the consistency level required for the request. The effective consistency level can only be reduce for read/query requests. So when the Account's default consistency level is for example Session you can specify on a request-by-request level for individual requests that Eventual consistency is sufficient - which could reduce the latency and RU charges for this request but will not guarantee session consistency (read-your-own-write) anymore- Parameters:
consistencyLevel
- the consistency level.- Returns:
- the CosmosItemRequestOptions.
-
getSessionToken
public String getSessionToken()
Gets the session token for use with session consistency.- Returns:
- the session token.
-
setSessionToken
public CosmosQueryRequestOptions setSessionToken(String sessionToken)
Sets the session token for use with session consistency.- Parameters:
sessionToken
- the session token.- Returns:
- the CosmosQueryRequestOptions.
-
isScanInQueryEnabled
public Boolean isScanInQueryEnabled()
Gets the option to allow scan on the queries which couldn't be served as indexing was opted out on the requested paths.- Returns:
- the option of enable scan in query.
-
setScanInQueryEnabled
public CosmosQueryRequestOptions setScanInQueryEnabled(Boolean scanInQueryEnabled)
Sets the option to allow scan on the queries which couldn't be served as indexing was opted out on the requested paths.- Parameters:
scanInQueryEnabled
- the option of enable scan in query.- Returns:
- the CosmosQueryRequestOptions.
-
getMaxDegreeOfParallelism
public int getMaxDegreeOfParallelism()
Gets the number of concurrent operations run client side during parallel query execution.- Returns:
- number of concurrent operations run client side during parallel query execution.
-
setMaxDegreeOfParallelism
public CosmosQueryRequestOptions setMaxDegreeOfParallelism(int maxDegreeOfParallelism)
Sets the number of concurrent operations run client side during parallel query execution.- Parameters:
maxDegreeOfParallelism
- number of concurrent operations.- Returns:
- the CosmosQueryRequestOptions.
-
getMaxBufferedItemCount
public int getMaxBufferedItemCount()
Gets the maximum number of items that can be buffered client side during parallel query execution.- Returns:
- maximum number of items that can be buffered client side during parallel query execution.
-
setMaxBufferedItemCount
public CosmosQueryRequestOptions setMaxBufferedItemCount(int maxBufferedItemCount)
Sets the maximum number of items that can be buffered client side during parallel query execution.- Parameters:
maxBufferedItemCount
- maximum number of items.- Returns:
- the CosmosQueryRequestOptions.
-
setResponseContinuationTokenLimitInKb
public CosmosQueryRequestOptions setResponseContinuationTokenLimitInKb(int limitInKb)
Sets the ResponseContinuationTokenLimitInKb request option for item query requests in the Azure Cosmos DB service.ResponseContinuationTokenLimitInKb is used to limit the length of continuation token in the query response. Valid values are >= 1.
The continuation token contains both required and optional fields. The required fields are necessary for resuming the execution from where it was stooped. The optional fields may contain serialized index lookup work that was done but not yet utilized. This avoids redoing the work again in subsequent continuations and hence improve the query performance. Setting the maximum continuation size to 1KB, the Azure Cosmos DB service will only serialize required fields. Starting from 2KB, the Azure Cosmos DB service would serialize as much as it could fit till it reaches the maximum specified size.
- Parameters:
limitInKb
- continuation token size limit.- Returns:
- the CosmosQueryRequestOptions.
-
getResponseContinuationTokenLimitInKb
public int getResponseContinuationTokenLimitInKb()
Gets the ResponseContinuationTokenLimitInKb request option for item query requests in the Azure Cosmos DB service. If not already set returns 0.ResponseContinuationTokenLimitInKb is used to limit the length of continuation token in the query response. Valid values are >= 1.
- Returns:
- return set ResponseContinuationTokenLimitInKb, or 0 if not set
-
getPartitionKey
public PartitionKey getPartitionKey()
Gets the partition key used to identify the current request's target partition.- Returns:
- the partition key.
-
setPartitionKey
public CosmosQueryRequestOptions setPartitionKey(PartitionKey partitionkey)
Sets the partition key used to identify the current request's target partition.- Parameters:
partitionkey
- the partition key value.- Returns:
- the CosmosQueryRequestOptions.
-
isQueryMetricsEnabled
public boolean isQueryMetricsEnabled()
Gets the option to enable populate query metrics. By default query metrics are enabled.- Returns:
- whether to enable populate query metrics (default: true)
-
setQueryMetricsEnabled
public CosmosQueryRequestOptions setQueryMetricsEnabled(boolean queryMetricsEnabled)
Sets the option to enable/disable getting metrics relating to query execution on item query requests. By default query metrics are enabled.- Parameters:
queryMetricsEnabled
- whether to enable or disable query metrics- Returns:
- the CosmosQueryRequestOptions.
-
getFeedRange
@Beta(value=V4_13_0, warningText="Preview API - subject to change in non-backwards compatible way") public FeedRange getFeedRange()
Gets theFeedRange
- Returns:
- the
FeedRange
-
setFeedRange
@Beta(value=V4_13_0, warningText="Preview API - subject to change in non-backwards compatible way") public CosmosQueryRequestOptions setFeedRange(FeedRange feedRange)
Sets theFeedRange
that we want to query- Parameters:
feedRange
- theFeedRange
- Returns:
- the CosmosQueryRequestOptions.
-
getThroughputControlGroupName
@Beta(value=V4_13_0, warningText="Preview API - subject to change in non-backwards compatible way") public String getThroughputControlGroupName()
Get throughput control group name.- Returns:
- The throughput control group name.
-
setThroughputControlGroupName
@Beta(value=V4_13_0, warningText="Preview API - subject to change in non-backwards compatible way") public CosmosQueryRequestOptions setThroughputControlGroupName(String throughputControlGroupName)
Set the throughput control group name.- Parameters:
throughputControlGroupName
- The throughput control group name.- Returns:
- A
CosmosQueryRequestOptions
.
-
getDedicatedGatewayRequestOptions
@Beta(value=V4_15_0, warningText="Preview API - subject to change in non-backwards compatible way") public DedicatedGatewayRequestOptions getDedicatedGatewayRequestOptions()
Gets the Dedicated Gateway Request Options- Returns:
- the Dedicated Gateway Request Options
-
setDedicatedGatewayRequestOptions
@Beta(value=V4_15_0, warningText="Preview API - subject to change in non-backwards compatible way") public CosmosQueryRequestOptions setDedicatedGatewayRequestOptions(DedicatedGatewayRequestOptions dedicatedGatewayRequestOptions)
Sets the Dedicated Gateway Request Options- Parameters:
dedicatedGatewayRequestOptions
- Dedicated Gateway Request Options- Returns:
- the CosmosQueryRequestOptions
-
getThresholdForDiagnosticsOnTracer
public Duration getThresholdForDiagnosticsOnTracer()
Gets the thresholdForDiagnosticsOnTracer, if latency on query operation is greater than this diagnostics will be send to open telemetry exporter as events in tracer span of end to end CRUD api. Default is 500 ms.- Returns:
- thresholdForDiagnosticsOnTracer the latency threshold for diagnostics on tracer.
-
setThresholdForDiagnosticsOnTracer
public CosmosQueryRequestOptions setThresholdForDiagnosticsOnTracer(Duration thresholdForDiagnosticsOnTracer)
Sets the thresholdForDiagnosticsOnTracer, if latency on query operation is greater than this diagnostics will be send to open telemetry exporter as events in tracer span of end to end CRUD api. Default is 500 ms- Parameters:
thresholdForDiagnosticsOnTracer
- the latency threshold for diagnostics on tracer.- Returns:
- the CosmosQueryRequestOptions
-
isIndexMetricsEnabled
public boolean isIndexMetricsEnabled()
Gets indexMetricsEnabled, which is used to obtain the index metrics to understand how the query engine used existing indexes and could use potential new indexes. The results will be displayed in QueryMetrics. Please note that this options will incurs overhead, so it should be enabled when debuging slow queries.- Returns:
- indexMetricsEnabled (default: false)
-
setIndexMetricsEnabled
public CosmosQueryRequestOptions setIndexMetricsEnabled(boolean indexMetricsEnabled)
Sets indexMetricsEnabled, which is used to obtain the index metrics to understand how the query engine used existing indexes and could use potential new indexes. The results will be displayed in QueryMetrics. Please note that this options will incurs overhead, so it should be enabled when debuging slow queries. By default the indexMetrics are disabled.- Parameters:
indexMetricsEnabled
- a boolean used to obtain the index metrics- Returns:
- indexMetricsEnabled
-
-