Compartilhar via


IDocumentClient.CreateDocumentAsync Método

Definição

Sobrecargas

CreateDocumentAsync(String, Object, RequestOptions, Boolean, CancellationToken)

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

CreateDocumentAsync(Uri, Object, RequestOptions, Boolean, CancellationToken)

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

CreateDocumentAsync(String, Object, RequestOptions, Boolean, CancellationToken)

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

public System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Document>> CreateDocumentAsync (string collectionLink, object document, Microsoft.Azure.Documents.Client.RequestOptions options = default, bool disableAutomaticIdGeneration = false, System.Threading.CancellationToken cancellationToken = default);
abstract member CreateDocumentAsync : string * obj * Microsoft.Azure.Documents.Client.RequestOptions * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Document>>
Public Function CreateDocumentAsync (collectionLink As String, document As Object, Optional options As RequestOptions = Nothing, Optional disableAutomaticIdGeneration As Boolean = false, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ResourceResponse(Of Document))

Parâmetros

collectionLink
String

O link do DocumentCollection no qual criar o documento. Por exemplo, dbs/db_rid/colls/coll_rid/

document
Object

O objeto de documento a ser criado.

options
RequestOptions

(Opcional) Todas as opções de solicitação que você deseja definir. Por exemplo, especificar um gatilho a ser executado ao criar o documento. RequestOptions

disableAutomaticIdGeneration
Boolean

(Opcional) Desabilita a geração automática de ID, se for True, o sistema gerará uma exceção se a propriedade id estiver ausente do Documento.

cancellationToken
CancellationToken

(Opcional) Um CancellationToken que pode ser usado por outros objetos ou threads para receber uma notificação de cancelamento.

Retornos

O Document que foi criado contido em um Task objeto que representa a resposta do serviço para a operação assíncrona.

Exceções

Se ou collectionLinkdocument não estiver definido.

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. É provável que disableAutomaticIdGeneration isso seja verdade e uma ID não tenha sido fornecida
403Proibido – isso provavelmente significa que a coleção na qual você estava tentando criar o documento está cheia.
409Conflito – isso significa um com uma Document ID que corresponde ao campo de ID de document já existente
413RequestEntityTooLarge - Isso significa que o Document excede o tamanho máximo da entidade atual. Consulte a documentação sobre limites e cotas.
429TooManyRequests - 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

O Azure Cosmos DB dá suporte a várias maneiras diferentes de trabalhar com documentos. Um documento pode estender Resource

public class MyObject : Resource
{
    public string MyProperty {get; set;}
}

using (IDocumentClient client = new DocumentClient(new Uri("service endpoint"), "auth key"))
{
    Document doc = await client.CreateDocumentAsync("dbs/db_rid/colls/coll_rid/", new MyObject { MyProperty = "A Value" });
}

Um documento pode ser qualquer objeto POCO que possa ser serializado para JSON, mesmo que ele não se estenda de Resource

public class MyPOCO
{
    public string MyProperty {get; set;}
}

using (IDocumentClient client = new DocumentClient(new Uri("service endpoint"), "auth key"))
{
    Document doc = await client.CreateDocumentAsync("dbs/db_rid/colls/coll_rid/", new MyPOCO { MyProperty = "A Value" });
}

Por fim, um Documento também pode ser um objeto dinâmico

using (IDocumentClient client = new DocumentClient(new Uri("service endpoint"), "auth key"))
{
    Document doc = await client.CreateDocumentAsync("dbs/db_rid/colls/coll_rid/", new { SomeProperty = "A Value" } );
}

Criar um documento e executar um gatilho pré e post

using (IDocumentClient client = new DocumentClient(new Uri("service endpoint"), "auth key"))
{
    Document doc = await client.CreateDocumentAsync(
        "dbs/db_rid/colls/coll_rid/",
        new { id = "DOC123213443" },
        new RequestOptions
        {
            PreTriggerInclude = new List<string> { "MyPreTrigger" },
            PostTriggerInclude = new List<string> { "MyPostTrigger" }
        });
}

Confira também

Aplica-se a

CreateDocumentAsync(Uri, Object, RequestOptions, Boolean, CancellationToken)

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

public System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Document>> CreateDocumentAsync (Uri documentCollectionUri, object document, Microsoft.Azure.Documents.Client.RequestOptions options = default, bool disableAutomaticIdGeneration = false, System.Threading.CancellationToken cancellationToken = default);
abstract member CreateDocumentAsync : Uri * obj * Microsoft.Azure.Documents.Client.RequestOptions * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Document>>
Public Function CreateDocumentAsync (documentCollectionUri As Uri, document As Object, Optional options As RequestOptions = Nothing, Optional disableAutomaticIdGeneration As Boolean = false, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ResourceResponse(Of Document))

Parâmetros

documentCollectionUri
Uri

O URI da coleção de documentos no qual criar o documento.

document
Object

O objeto do documento.

options
RequestOptions

(Opcional) O RequestOptions para a solicitação.

disableAutomaticIdGeneration
Boolean

Um sinalizador para desabilitar a geração automática de ID.

cancellationToken
CancellationToken

(Opcional) Um CancellationToken que pode ser usado por outros objetos ou threads para receber uma notificação de cancelamento.

Retornos

O objeto de tarefa que representa a resposta do serviço para a operação assíncrona.

Aplica-se a