Compartir a través de


Container.ReplaceItemAsync<T> Método

Definición

Reemplaza un elemento del servicio Azure Cosmos como una operación asincrónica.

public abstract System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.ItemResponse<T>> ReplaceItemAsync<T> (T item, string id, Microsoft.Azure.Cosmos.PartitionKey? partitionKey = default, Microsoft.Azure.Cosmos.ItemRequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member ReplaceItemAsync : 'T * string * Nullable<Microsoft.Azure.Cosmos.PartitionKey> * Microsoft.Azure.Cosmos.ItemRequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.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))

Parámetros de tipo

T

Parámetros

item
T

Objeto serializable JSON que debe contener una propiedad id. CosmosSerializer para implementar un serializador personalizado.

id
String

Identificador del elemento de Cosmos del elemento existente.

partitionKey
Nullable<PartitionKey>

PartitionKey para el elemento. Si no se especifica, se rellenará extrayendo de {T}

requestOptions
ItemRequestOptions

(Opcional) Las opciones de la solicitud de elemento.

cancellationToken
CancellationToken

(Opcional) CancellationToken que representa la cancelación de la solicitud.

Devoluciones

que Task contiene un ItemResponse<T> objeto que encapsula el registro de recursos actualizado.

Excepciones

Si alguno de los dos item no está establecido.

Esta excepción puede encapsular muchos tipos diferentes de errores. Para determinar el error específico, examine siempre la propiedad StatusCode.

StatusCodeMotivo de la excepción
400BadRequest: esto significa que algo estaba mal con el documento proporcionado.
403Prohibido: esto probablemente significa que la colección en la que estaba intentando crear el documento está llena.
413RequestEntityTooLarge: esto significa que el elemento supera el tamaño máximo de entidad actual. Consulte la documentación para conocer los límites y las cuotas.
429TooManyRequests: esto significa que ha superado el número de unidades de solicitud por segundo.

Ejemplos

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

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

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

Comentarios

El valor de clave de partición del elemento es inmutable. Para cambiar el valor de clave de partición de un elemento, debe eliminar el elemento original e insertar un nuevo elemento.

Se aplica a