CosmosContainer.UpsertItemAsync<T> Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Upserts un élément en tant qu’opération asynchrone dans le service 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))
Paramètres de type
- T
Paramètres
- item
- T
Objet sérialisable JSON qui doit contenir une propriété id. CosmosSerializer pour implémenter un sérialiseur personnalisé
- partitionKey
- Nullable<PartitionKey>
Clé de partition pour l’élément. Si ce n’est pas spécifié, sera renseigné en extrayant à partir de {T}
- requestOptions
- ItemRequestOptions
(Facultatif) Options de la demande d’élément ItemRequestOptions
- cancellationToken
- CancellationToken
(Facultatif) CancellationToken représentant l’annulation de la demande.
Retours
Response<T> qui a été upserted contenu dans un Task objet représentant la réponse du service pour l’opération asynchrone.
Exceptions
Représente une consolidation des échecs qui se sont produits pendant le traitement asynchrone. Recherchez la ou les exceptions réelles dans InnerExceptions
Cette exception peut encapsuler de nombreux types d’erreurs différents. Pour déterminer l’erreur spécifique, examinez toujours la propriété StatusCode. Voici quelques codes courants que vous pouvez obtenir lors de la création d’un document :
StatusCode | Raison de l’exception |
---|---|
400 | BadRequest : cela signifie qu’il y a eu un problème avec le document fourni. |
403 | Interdit : cela signifie probablement que la collection dans laquelle vous essayez de monter le document est complète. |
413 | RequestEntityTooLarge : cela signifie que l’élément dépasse la taille maximale d’entité actuelle. Consultez la documentation pour connaître les limites et les quotas. |
429 | TooManyRequests : cela signifie que vous avez dépassé le nombre d’unités de requête par seconde. Consultez la valeur DocumentClientException.RetryAfter pour voir combien de temps vous devez attendre avant de réessayer cette opération. |
Exemples
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));
S’applique à
Azure SDK for .NET