IDocumentClient.UpsertDocumentAsync 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.
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 collectionLink, 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>>
Public Function UpsertDocumentAsync (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 para upsert o 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 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.
Exceções
Se ou collectionLink
document
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:
StatusCode | Motivo da exceção |
---|---|
400 | BadRequest - 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 |
403 | Proibido – isso provavelmente significa que a coleção na qual você estava tentando inserir o documento está cheia. |
409 | Conflito – isso significa um com uma Document ID que corresponde ao campo de ID de document já existente |
413 | RequestEntityTooLarge - Isso significa que o Document 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
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>>
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 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 notificação de cancelamento.
Retornos
O objeto de tarefa que representa a resposta de serviço para a operação assíncrona.
Aplica-se a
Azure SDK for .NET