CosmosContainer.ReplaceItemAsync<T>(T, String, Nullable<PartitionKey>, ItemRequestOptions, CancellationToken) Method

Definition

Replaces a item in the Azure Cosmos service as an asynchronous operation.

public abstract System.Threading.Tasks.Task<Azure.Cosmos.ItemResponse<T>> ReplaceItemAsync<T> (T item, string id, Azure.Cosmos.PartitionKey? partitionKey = default, Azure.Cosmos.ItemRequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member ReplaceItemAsync : 'T * string * Nullable<Azure.Cosmos.PartitionKey> * Azure.Cosmos.ItemRequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Azure.Cosmos.ItemResponse<'T>>
Public MustOverride Function ReplaceItemAsync(Of T) (item As T, id As String, Optional partitionKey As Nullable(Of PartitionKey) = Nothing, Optional requestOptions As ItemRequestOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ItemResponse(Of T))

Type Parameters

T

Parameters

item
T

A JSON serializable object that must contain an id property. CosmosSerializer to implement a custom serializer.

id
System.String

The cosmos item id, which is expected to match the value within T.

partitionKey
System.Nullable<PartitionKey>

Partition key for the item. If not specified will be populated by extracting from {T}

requestOptions
ItemRequestOptions

(Optional) The options for the item request ItemRequestOptions

cancellationToken
System.Threading.CancellationToken

(Optional) System.Threading.CancellationToken representing request cancellation.

Returns

System.Threading.Tasks.Task<ItemResponse<T>>

A System.Threading.Tasks.Task containing a Response<T> which wraps the updated resource record.

Exceptions

System.ArgumentNullException

If either item is not set.

This exception can encapsulate many different types of errors. To determine the specific error always look at the StatusCode property.

StatusCodeReason for exception
400BadRequest - This means something was wrong with the document supplied.
403Forbidden - This likely means the collection in to which you were trying to create the document is full.
413RequestEntityTooLarge - This means the item exceeds the current max entity size. Consult documentation for limits and quotas.
429TooManyRequests - This means you have exceeded the number of request units per second.

Examples

public class ToDoActivity{
    public string id {get; set;}
    public string status {get; set;}
}

ToDoActivity test = new ToDoActivity()
{
   id = Guid.NewGuid().ToString(),
   status = "InProgress"
};

ItemResponse<ToDoActivity> item = await this.container.ReplaceItemAsync<ToDoActivity>(test, test.id, new PartitionKey(test.status));

Applies to