Partager via


Container.PatchItemAsync<T> Méthode

Définition

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

public abstract System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.ItemResponse<T>> PatchItemAsync<T> (string id, Microsoft.Azure.Cosmos.PartitionKey partitionKey, System.Collections.Generic.IReadOnlyList<Microsoft.Azure.Cosmos.PatchOperation> patchOperations, Microsoft.Azure.Cosmos.PatchItemRequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member PatchItemAsync : string * Microsoft.Azure.Cosmos.PartitionKey * System.Collections.Generic.IReadOnlyList<Microsoft.Azure.Cosmos.PatchOperation> * Microsoft.Azure.Cosmos.PatchItemRequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.ItemResponse<'T>>
Public MustOverride Function PatchItemAsync(Of T) (id As String, partitionKey As PartitionKey, patchOperations As IReadOnlyList(Of PatchOperation), Optional requestOptions As PatchItemRequestOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ItemResponse(Of T))

Paramètres de type

T

Paramètres

id
String

ID d’élément Cosmos de l’élément à corriger.

partitionKey
PartitionKey

PartitionKey pour l’élément

patchOperations
IReadOnlyList<PatchOperation>

Représente une liste d’opérations à appliquer séquentiellement à l’élément Cosmos référencé.

requestOptions
PatchItemRequestOptions

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

Exemples

public class ToDoActivity{
    public string id {get; set;}
    public string status {get; set;}
    public string description {get; set;}
    public int frequency {get; set;}
}

ToDoActivity toDoActivity = await this.container.ReadItemAsync<ToDoActivity>("id", new PartitionKey("partitionKey"));
/* toDoActivity = {
    "id" : "someId",
    "status" : "someStatusPK",
    "description" : "someDescription",
    "frequency" : 7
}*/

List<PatchOperation> patchOperations = new List<PatchOperation>()
{
    PatchOperation.Add("/daysOfWeek", new string[]{"Monday", "Thursday"}),
    PatchOperation.Replace("/frequency", 2),
    PatchOperation.Remove("/description")
};

ItemResponse<dynamic> item = await this.container.PatchItemAsync<dynamic>(toDoActivity.id, new PartitionKey(toDoActivity.status), patchOperations);
/* item.Resource = {
    "id" : "someId",
    "status" : "someStatusPK",
    "description" : null,
    "frequency" : 2,
    "daysOfWeek" : ["Monday", "Thursday"]
}*/

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. Les opérations de correctif sont atomiques et sont exécutées séquentiellement. Par défaut, le corps de la ressource est retourné dans le cadre de la réponse. L’utilisateur peut demander aucun contenu en définissant EnableContentResponseOnWrite l’indicateur sur false.

S’applique à