DocumentClient.UpsertDocumentAsync Método

Definição

Sobrecargas

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

Upserts a Document as an asychronous operation in the Azure Cosmos DB service.

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

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

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

Upserts a Document as an asychronous operation in the Azure Cosmos DB service.

public System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Document>> UpsertDocumentAsync (string documentsFeedOrDatabaseLink, object document, Microsoft.Azure.Documents.Client.RequestOptions options = default, bool disableAutomaticIdGeneration = false, System.Threading.CancellationToken cancellationToken = default);
abstract member UpsertDocumentAsync : string * obj * Microsoft.Azure.Documents.Client.RequestOptions * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Document>>
override this.UpsertDocumentAsync : 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 UpsertDocumentAsync (documentsFeedOrDatabaseLink 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

documentsFeedOrDatabaseLink
String

O link do DocumentCollection para upsert do documento. Por exemplo, dbs/db_rid/colls/coll_rid/

document
Object

O objeto de documento a ser upsert.

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 upserted contido em um Task objeto que representa a resposta de serviço para a operação assíncrona.

Implementações

Exceções

Se ou documentsFeedOrDatabaseLinkdocument 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 upsert 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.UpsertDocumentAsync("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.UpsertDocumentAsync("dbs/db_rid/colls/coll_rid/", new MyPOCO { MyProperty = "A Value" });
}

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.UpsertDocumentAsync("dbs/db_rid/colls/coll_rid/", new { SomeProperty = "A Value" } );
}

Upsert a Document and execute a Pre and Post Trigger

using (IDocumentClient client = new DocumentClient(new Uri("service endpoint"), "auth key"))
{
    Document doc = await client.UpsertDocumentAsync(
        "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

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

Faz upserts de 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>> UpsertDocumentAsync (Uri documentCollectionUri, object document, Microsoft.Azure.Documents.Client.RequestOptions options = default, bool disableAutomaticIdGeneration = false, System.Threading.CancellationToken cancellationToken = default);
abstract member UpsertDocumentAsync : Uri * obj * Microsoft.Azure.Documents.Client.RequestOptions * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Document>>
override this.UpsertDocumentAsync : 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 UpsertDocumentAsync (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 para upsert do documento.

document
Object

o objeto do documento.

options
RequestOptions

As opções de solicitação para a solicitação.

disableAutomaticIdGeneration
Boolean

Desabilita a geração automática de ID, gerará uma exceção se a ID estiver ausente.

cancellationToken
CancellationToken

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

Retornos

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

Implementações

Aplica-se a