CosmosContainer.UpsertItemAsync<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í.
Upserts un elemento como una operación asincrónica en el servicio Azure Cosmos.
public abstract System.Threading.Tasks.Task<Azure.Cosmos.ItemResponse<T>> UpsertItemAsync<T> (T item, Azure.Cosmos.PartitionKey? partitionKey = default, Azure.Cosmos.ItemRequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member UpsertItemAsync : 'T * Nullable<Azure.Cosmos.PartitionKey> * Azure.Cosmos.ItemRequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Azure.Cosmos.ItemResponse<'T>>
Public MustOverride Function UpsertItemAsync(Of T) (item As T, 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
- partitionKey
- Nullable<PartitionKey>
Clave de partición para el elemento. Si no se especifica, se rellenará extrayendo de {T}
- requestOptions
- ItemRequestOptions
(Opcional) Opciones de la solicitud de elemento ItemRequestOptions
- cancellationToken
- CancellationToken
(Opcional) CancellationToken que representa la cancelación de la solicitud.
Devoluciones
objeto Response<T> que se ha actualizado dentro de un Task objeto que representa la respuesta del servicio para la operación asincrónica.
Excepciones
Representa una consolidación de errores que se produjeron durante el procesamiento asincrónico. Busque en InnerExceptions para buscar las excepciones reales.
Esta excepción puede encapsular muchos tipos diferentes de errores. Para determinar el error específico, examine siempre la propiedad StatusCode. Algunos códigos comunes que puede obtener al crear un documento son:
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 actualizar el documento está lleno. |
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. Consulte el valor DocumentClientException.RetryAfter para ver cuánto tiempo debe esperar antes de volver a intentar esta operación. |
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<ToDoActivity> item = await this.container.UpsertItemAsync<ToDoActivity>(test, new PartitionKey(test.status));
Se aplica a
Azure SDK for .NET