Container.PatchItemAsync<T> Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Patches de um item no serviço do Azure Cosmos como uma operação assíncrona.
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))
Parâmetros de tipo
- T
Parâmetros
- id
- String
A ID do item do Cosmos do item a ser corrigido.
- partitionKey
- PartitionKey
PartitionKey para o item
- patchOperations
- IReadOnlyList<PatchOperation>
Representa uma lista de operações a serem aplicadas sequencialmente ao item cosmos referenciado.
- requestOptions
- PatchItemRequestOptions
(Opcional) As opções para a solicitação de item.
- cancellationToken
- CancellationToken
(Opcional) CancellationToken que representa o cancelamento da solicitação.
Retornos
Um Task que contém um ItemResponse<T> que encapsula o registro de recurso atualizado.
Exemplos
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"]
}*/
Comentários
O valor da chave de partição do item é imutável. Para alterar o valor da chave de partição de um item, você deve excluir o item original e inserir um novo item. As operações de patch são atômicas e são executadas sequencialmente. Por padrão, o corpo do recurso será retornado como parte da resposta. O usuário não pode solicitar conteúdo definindo EnableContentResponseOnWrite sinalizador como false.
Aplica-se a
Azure SDK for .NET