Container.ReplaceItemAsync<T> Méthode

Définition

Remplace un élément du service Azure Cosmos en tant qu’opération asynchrone.

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))

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é.

id
String

ID d’élément Cosmos de l’élément existant.

partitionKey
Nullable<PartitionKey>

PartitionKey pour l’élément. Si ce n’est pas spécifié, est rempli en extrayant à partir de {T}

requestOptions
ItemRequestOptions

(Facultatif) Options de la demande d’élément.

cancellationToken
CancellationToken

(Facultatif) CancellationToken représentant l’annulation de la demande.

Retours

Task contenant un ItemResponse<T> qui encapsule l’enregistrement de ressource mis à jour.

Exceptions

Si l’un ou l’autre item n’est pas défini.

Cette exception peut encapsuler de nombreux types d’erreurs différents. Pour déterminer l’erreur spécifique, examinez toujours la propriété StatusCode.

StatusCodeRaison de l’exception
400BadRequest : cela signifie qu’il y a eu un problème avec le document fourni.
403Interdit : cela signifie probablement que la collection dans laquelle vous essayez de créer le document est complète.
413RequestEntityTooLarge : 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.
429TooManyRequests : cela signifie que vous avez dépassé le nombre d’unités de requête par seconde.

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 item = await this.container.ReplaceItemAsync<ToDoActivity>(test, test.id, new PartitionKey(test.status));

Remarques

La valeur de clé de partition de l’élément est immuable. Pour modifier la valeur de clé de partition d’un élément, vous devez supprimer l’élément d’origine et insérer un nouvel élément.

S’applique à