Class CosmosChangeFeedRequestOptions
- java.lang.Object
-
- com.azure.cosmos.models.CosmosChangeFeedRequestOptions
-
@Beta(value=V4_12_0, warningText="Preview API - subject to change in non-backwards compatible way") public final class CosmosChangeFeedRequestOptions extends Object
Encapsulates options that can be specified for an operation within a change feed request.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static CosmosChangeFeedRequestOptions
createForProcessingFromBeginning(FeedRange feedRange)
Creates a newCosmosChangeFeedRequestOptions
instance to start processing change feed items from the beginning of the change feedstatic CosmosChangeFeedRequestOptions
createForProcessingFromContinuation(String continuation)
Creates a newCosmosChangeFeedRequestOptions
instance to start processing change feed items from a previous continuationstatic CosmosChangeFeedRequestOptions
createForProcessingFromNow(FeedRange feedRange)
Creates a newCosmosChangeFeedRequestOptions
instance to start processing change feed items from the current time - so only events for all future changes will be retrievedstatic CosmosChangeFeedRequestOptions
createForProcessingFromPointInTime(Instant pointInTime, FeedRange feedRange)
Creates a newCosmosChangeFeedRequestOptions
instance to start processing change feed items from a certain point in timeCosmosChangeFeedRequestOptions
fullFidelity()
Changes the change feed mode so that the change feed will contain events for creations, deletes as well as all intermediary snapshots for updates.FeedRange
getFeedRange()
Gets the feed range.int
getMaxItemCount()
Gets the maximum number of items to be returned in the enumeration operation.int
getMaxPrefetchPageCount()
Gets the maximum number of pages that will be prefetched from the backend asynchronously in the background.String
getThroughputControlGroupName()
Get the throughput control group name.boolean
isQuotaInfoEnabled()
Gets the quotaInfoEnabled setting for change feed request in the Azure Cosmos DB database service.CosmosChangeFeedRequestOptions
setMaxItemCount(int maxItemCount)
Sets the maximum number of items to be returned in the enumeration operation.CosmosChangeFeedRequestOptions
setMaxPrefetchPageCount(int maxPrefetchPageCount)
Sets the maximum number of pages that will be prefetched from the backend asynchronously in the background.void
setQuotaInfoEnabled(boolean quotaInfoEnabled)
Gets the quotaInfoEnabled setting for change feed request in the Azure Cosmos DB database service.CosmosChangeFeedRequestOptions
setThroughputControlGroupName(String throughputControlGroupName)
Set the throughput control group name.
-
-
-
Method Detail
-
getFeedRange
@Beta(value=V4_12_0, warningText="Preview API - subject to change in non-backwards compatible way") public FeedRange getFeedRange()
Gets the feed range.- Returns:
- the feed range.
-
getMaxItemCount
@Beta(value=V4_12_0, warningText="Preview API - subject to change in non-backwards compatible way") public int getMaxItemCount()
Gets the maximum number of items to be returned in the enumeration operation.- Returns:
- the max number of items.
-
setMaxItemCount
@Beta(value=V4_12_0, warningText="Preview API - subject to change in non-backwards compatible way") public CosmosChangeFeedRequestOptions setMaxItemCount(int maxItemCount)
Sets the maximum number of items to be returned in the enumeration operation.- Parameters:
maxItemCount
- the max number of items.- Returns:
- the FeedOptionsBase.
-
getMaxPrefetchPageCount
@Beta(value=V4_12_0, warningText="Preview API - subject to change in non-backwards compatible way") public int getMaxPrefetchPageCount()
Gets the maximum number of pages that will be prefetched from the backend asynchronously in the background. By pre-fetching these changes the throughput of processing the change feed records can be increased because the processing doesn't have to stop while waiting for the IO operations to retrieve a new page form the backend to complete. The only scenario where it can be useful to disable prefetching pages (with setMaxPrefetchPageCount(0)) would be when the caller only plans to retrieve just one page - so any prefetched pages would not be used anyway.- Returns:
- the modified change feed request options.
-
setMaxPrefetchPageCount
@Beta(value=V4_12_0, warningText="Preview API - subject to change in non-backwards compatible way") public CosmosChangeFeedRequestOptions setMaxPrefetchPageCount(int maxPrefetchPageCount)
Sets the maximum number of pages that will be prefetched from the backend asynchronously in the background. By pre-fetching these changes the throughput of processing the change feed records can be increased because the processing doesn't have to stop while waiting for the IO operations to retrieve a new page form the backend to complete. The only scenario where it can be useful to disable prefetching pages (with setMaxPrefetchPageCount(0)) would be when the caller only plans to retrieve just one page - so any prefetched pages would not be used anyway.- Parameters:
maxPrefetchPageCount
- the max number of pages that will be prefetched from the backend asynchronously in the background- Returns:
- the modified change feed request options.
-
isQuotaInfoEnabled
@Beta(value=V4_12_0, warningText="Preview API - subject to change in non-backwards compatible way") public boolean isQuotaInfoEnabled()
Gets the quotaInfoEnabled setting for change feed request in the Azure Cosmos DB database service. quotaInfoEnabled is used to enable/disable getting quota related stats- Returns:
- true if quotaInfoEnabled is enabled
-
setQuotaInfoEnabled
@Beta(value=V4_12_0, warningText="Preview API - subject to change in non-backwards compatible way") public void setQuotaInfoEnabled(boolean quotaInfoEnabled)
Gets the quotaInfoEnabled setting for change feed request in the Azure Cosmos DB database service. quotaInfoEnabled is used to enable/disable getting quota related stats- Parameters:
quotaInfoEnabled
- a boolean value indicating whether quotaInfoEnabled is enabled or not
-
createForProcessingFromBeginning
@Beta(value=V4_12_0, warningText="Preview API - subject to change in non-backwards compatible way") public static CosmosChangeFeedRequestOptions createForProcessingFromBeginning(FeedRange feedRange)
Creates a newCosmosChangeFeedRequestOptions
instance to start processing change feed items from the beginning of the change feed- Parameters:
feedRange
- TheFeedRange
that is used to define the scope (entire container, logical partition or subset of a container)- Returns:
- a new
CosmosChangeFeedRequestOptions
instance
-
createForProcessingFromContinuation
@Beta(value=V4_12_0, warningText="Preview API - subject to change in non-backwards compatible way") public static CosmosChangeFeedRequestOptions createForProcessingFromContinuation(String continuation)
Creates a newCosmosChangeFeedRequestOptions
instance to start processing change feed items from a previous continuation- Parameters:
continuation
- The continuation that was retrieved from a previously retrieved FeedResponse- Returns:
- a new
CosmosChangeFeedRequestOptions
instance
-
createForProcessingFromNow
@Beta(value=V4_12_0, warningText="Preview API - subject to change in non-backwards compatible way") public static CosmosChangeFeedRequestOptions createForProcessingFromNow(FeedRange feedRange)
Creates a newCosmosChangeFeedRequestOptions
instance to start processing change feed items from the current time - so only events for all future changes will be retrieved- Parameters:
feedRange
- TheFeedRange
that is used to define the scope (entire container, logical partition or subset of a container)- Returns:
- a new
CosmosChangeFeedRequestOptions
instance
-
createForProcessingFromPointInTime
@Beta(value=V4_12_0, warningText="Preview API - subject to change in non-backwards compatible way") public static CosmosChangeFeedRequestOptions createForProcessingFromPointInTime(Instant pointInTime, FeedRange feedRange)
Creates a newCosmosChangeFeedRequestOptions
instance to start processing change feed items from a certain point in time- Parameters:
pointInTime
- The point in time from which processing of change feed events should startfeedRange
- TheFeedRange
that is used to define the scope (entire container, logical partition or subset of a container)- Returns:
- a new
CosmosChangeFeedRequestOptions
instance
-
fullFidelity
@Beta(value=V4_12_0, warningText="Preview API - subject to change in non-backwards compatible way") public CosmosChangeFeedRequestOptions fullFidelity()
Changes the change feed mode so that the change feed will contain events for creations, deletes as well as all intermediary snapshots for updates. Enabling full fidelity change feed mode requires configuring a retention duration in the change feed policy of the container.ChangeFeedPolicy
Intermediary snapshots of changes as well as deleted documents would be available for processing for 8 minutes before they vanish. When enabling full fidelity mode you will only be able to process change feed events within the retention window configured in the change feed policy of the container. If you attempt to process a change feed after more than the retention window an error (Status Code 400) will be returned because the events for intermediary updates and deletes have vanished. It would still be possible to process changes using Incremental mode even when configuring a full fidelity change feed policy with retention window on the container and when using Incremental mode it doesn't matter whether your are out of the retention window or not - but no events for deletes or intermediary updates would be included. When events are not getting processed within the retention window it is also possible to continue processing future events in full fidelity mode by querying the change feed with a new CosmosChangeFeedRequestOptions instance.
- Returns:
- a
CosmosChangeFeedRequestOptions
instance with full fidelity mode enabled
-
getThroughputControlGroupName
@Beta(value=V4_13_0, warningText="Preview API - subject to change in non-backwards compatible way") public String getThroughputControlGroupName()
Get the 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 CosmosChangeFeedRequestOptions setThroughputControlGroupName(String throughputControlGroupName)
Set the throughput control group name.- Parameters:
throughputControlGroupName
- The throughput control group name.- Returns:
- A
CosmosChangeFeedRequestOptions
.
-
-