Container.CreateItemAsync<T> Método

Definición

Crea un elemento como una operación asincrónica en el servicio Azure Cosmos.

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

Objeto serializable JSON que debe contener una propiedad id. CosmosSerializer para implementar un serializador personalizado

partitionKey
Nullable<PartitionKey>

PartitionKey para el elemento. Si no se especifica, se rellenará extrayendo de {T}

requestOptions
ItemRequestOptions

(Opcional) Las opciones de la solicitud de elemento.

cancellationToken
CancellationToken

(Opcional) CancellationToken que representa la cancelación de la solicitud.

Devoluciones

objeto ItemResponse<T> que se creó dentro de un Task objeto que representa la respuesta del servicio para la operación asincrónica.

Excepciones

Representa una consolidación de errores que se produjeron durante el procesamiento asincrónico. Busque en InnerExceptions para buscar las excepciones reales.

Esta excepción puede encapsular muchos tipos diferentes de errores. Para determinar el error específico, examine siempre la propiedad StatusCode. Algunos códigos comunes que puede obtener al crear un documento son:

StatusCodeMotivo de la excepción
400BadRequest: esto significa que algo estaba mal con el documento proporcionado.
403Prohibido: esto probablemente significa que la colección en la que estaba intentando crear el documento está llena.
409Conflicto: esto significa que un elemento con un identificador que coincide con el campo id de item ya existía.
413RequestEntityTooLarge: esto significa que el elemento supera el tamaño máximo de entidad actual. Consulte la documentación para conocer los límites y las cuotas.
429TooManyRequests: esto significa que ha superado el número de unidades de solicitud por segundo.

Ejemplos

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>(test, new PartitionKey(test.status));

Se aplica a