Compartilhar via


CosmosContainer.CreateItemAsync<T> Método

Definição

Cria um item como uma operação assíncrona no serviço do Azure Cosmos.

public abstract System.Threading.Tasks.Task<Azure.Cosmos.ItemResponse<T>> CreateItemAsync<T> (T item, Azure.Cosmos.PartitionKey? partitionKey = default, Azure.Cosmos.ItemRequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member CreateItemAsync : 'T * Nullable<Azure.Cosmos.PartitionKey> * Azure.Cosmos.ItemRequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Azure.Cosmos.ItemResponse<'T>>
Public MustOverride Function CreateItemAsync(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>

Chave de partição 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 ItemRequestOptions

cancellationToken
CancellationToken

(Opcional) CancellationToken que representa o cancelamento da solicitação.

Retornos

O Response<T> que foi criado 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:

StatusCodeMotivo da exceção
400BadRequest - Isso significa que algo estava errado com o documento fornecido.
403Proibido – isso provavelmente significa que a coleção na qual você estava tentando criar o documento está cheia.
409Conflito – isso significa um item com uma ID correspondente ao campo ID de item já existente
413RequestEntityTooLarge - Isso significa que o item excede o tamanho máximo da entidade atual. Consulte a documentação para obter limites e cotas.
429TooManyRequests - Isso significa que você excedeu o número de unidades de solicitação por segundo.

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

Aplica-se a