Container.UpsertItemAsync<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.
Aumenta um item como uma operação assíncrona no serviço do Azure Cosmos.
public abstract System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.ItemResponse<T>> UpsertItemAsync<T> (T item, Microsoft.Azure.Cosmos.PartitionKey? partitionKey = default, Microsoft.Azure.Cosmos.ItemRequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member UpsertItemAsync : 'T * Nullable<Microsoft.Azure.Cosmos.PartitionKey> * Microsoft.Azure.Cosmos.ItemRequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.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))
Parâmetros de tipo
- T
Parâmetros
- item
- T
Um objeto serializável JSON que deve conter uma propriedade id. CosmosSerializer para implementar um serializador personalizado
- partitionKey
- Nullable<PartitionKey>
PartitionKey para o item. Se não for especificado, será preenchido extraindo de {T}
- requestOptions
- ItemRequestOptions
(Opcional) As opções para a solicitação de item.
- cancellationToken
- CancellationToken
(Opcional) CancellationToken que representa o cancelamento da solicitação.
Retornos
O ItemResponse<T> que foi upserted contido em um Task objeto que representa a resposta de serviço para a operação assíncrona.
Exceções
Representa uma consolidação de falhas que ocorreram durante o processamento assíncrono. Procure dentro de InnerExceptions para encontrar as exceções reais
Essa exceção pode encapsular muitos tipos diferentes de erros. Para determinar o erro específico, sempre examine a propriedade StatusCode. Alguns códigos comuns que você pode obter ao criar um Documento são:
StatusCode | Motivo da exceção |
---|---|
400 | BadRequest - Isso significa que algo estava errado com o documento fornecido. |
403 | Proibido – isso provavelmente significa que a coleção na qual você estava tentando inserir o documento está cheia. |
413 | RequestEntityTooLarge - Isso significa que o item excede o tamanho máximo da entidade atual. Consulte a documentação para obter limites e cotas. |
429 | TooManyRequests - Isso significa que você excedeu o número de unidades de solicitação por segundo. Consulte o valor DocumentClientException.RetryAfter para ver quanto tempo você deve aguardar antes de repetir essa operação. |
Exemplos
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));
Aplica-se a
Azure SDK for .NET