Container.PatchItemAsync<T> Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Patcht ein Element im Azure Cosmos-Dienst als asynchronen Vorgang.
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))
Typparameter
- T
Parameter
- id
- String
Die Cosmos-Element-ID des zu patchenden Elements.
- partitionKey
- PartitionKey
PartitionKey für das Element
- patchOperations
- IReadOnlyList<PatchOperation>
Stellt eine Liste von Vorgängen dar, die sequenziell auf das verwiesene Cosmos-Element angewendet werden sollen.
- requestOptions
- PatchItemRequestOptions
(Optional) Die Optionen für die Elementanforderung.
- cancellationToken
- CancellationToken
(Optional) CancellationToken stellt den Anforderungsabbruch dar.
Gibt zurück
Ein Task , der einen ItemResponse<T> enthält, der den aktualisierten Ressourcendatensatz umschließt.
Beispiele
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"]
}*/
Hinweise
Der Partitionsschlüsselwert des Elements ist unveränderlich. Um den Partitionsschlüsselwert eines Elements zu ändern, müssen Sie das ursprüngliche Element löschen und ein neues Element einfügen. Die Patchvorgänge sind atomar und werden sequenziell ausgeführt. Standardmäßig wird der Ressourcentext als Teil der Antwort zurückgegeben. Der Benutzer kann keinen Inhalt anfordern, indem er das Flag auf false festlegt EnableContentResponseOnWrite .
Gilt für:
Azure SDK for .NET