Container.ReplaceItemAsync<T> Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
StatusCode | Motivo de la excepción |
---|---|
400 | BadRequest: esto significa que algo estaba mal con el documento proporcionado. |
403 | Prohibido: esto probablemente significa que la colección en la que estaba intentando crear el documento está llena. |
413 | RequestEntityTooLarge: 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. |
429 | TooManyRequests: 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
Azure SDK for .NET