IDocumentClient.UpsertDocumentAsync Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
UpsertDocumentAsync(String, Object, RequestOptions, Boolean, CancellationToken) |
Erstellt ein Dokument als asychronen Vorgang im Azure Cosmos DB-Dienst. |
UpsertDocumentAsync(Uri, Object, RequestOptions, Boolean, CancellationToken) |
Erstellt ein Dokument als asychronen Vorgang im Azure Cosmos DB-Dienst. |
UpsertDocumentAsync(String, Object, RequestOptions, Boolean, CancellationToken)
Erstellt ein Dokument als asychronen Vorgang im Azure Cosmos DB-Dienst.
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))
Parameter
- collectionLink
- String
Der Link des DocumentCollection zum Upsertieren des Dokuments in. z.B. dbs/db_rid/colls/coll_rid/
- document
- Object
Das dokumentobjekt, das upsert werden soll.
- options
- RequestOptions
(Optional) Alle Anforderungsoptionen, die Sie festlegen möchten. Beispiel: Angeben eines Triggers, der beim Erstellen des Dokuments ausgeführt werden soll. RequestOptions
- disableAutomaticIdGeneration
- Boolean
(Optional) Deaktiviert die automatische ID-Generierung. Wenn dies True ist, löst das System eine Ausnahme aus, wenn die Id-Eigenschaft im Dokument fehlt.
- cancellationToken
- CancellationToken
(Optional) Ein CancellationToken , der von anderen Objekten oder Threads verwendet werden kann, um eine Benachrichtigung über den Abbruch zu erhalten.
Gibt zurück
Die Document , die in einem Task Objekt enthalten ist, das die Dienstantwort für den asynchronen Vorgang darstellt.
Ausnahmen
Wenn oder collectionLink
document
nicht festgelegt ist.
Stellt eine Konsolidierung von Fehlern dar, die während der asynchronen Verarbeitung aufgetreten sind. Suchen Sie in InnerExceptions nach den tatsächlichen Ausnahmen.
Diese Ausnahme kann viele verschiedene Fehlertypen kapseln. Um den spezifischen Fehler zu ermitteln, sehen Sie sich immer die StatusCode-Eigenschaft an. Einige häufige Codes, die Sie beim Erstellen eines Dokuments erhalten können, sind:
StatusCode | Grund für die Ausnahme |
---|---|
400 | BadRequest: Dies bedeutet, dass mit dem angegebenen Dokument ein Fehler aufgetreten ist. Es ist wahrscheinlich, dass disableAutomaticIdGeneration wahr war, und es wurde keine ID angegeben. |
403 | Verboten: Dies bedeutet wahrscheinlich, dass die Sammlung, in der Sie versucht haben, ein Upserting des Dokuments auszuführen, voll ist. |
409 | Konflikt: Dies bedeutet, dass eine Document mit einer ID übereinstimmt, die dem Id-Feld von document bereits vorhanden entspricht. |
413 | RequestEntityTooLarge: Dies bedeutet, dass die Document die aktuelle maximale Entitätsgröße überschreitet. Informationen zu Grenzwerten und Kontingenten finden Sie in der Dokumentation. |
429 | TooManyRequests: Dies bedeutet, dass Sie die Anzahl der Anforderungseinheiten pro Sekunde überschritten haben. Lesen Sie den DocumentClientException.RetryAfter-Wert, um zu sehen, wie lange Sie warten sollten, bevor Sie diesen Vorgang wiederholen. |
Beispiele
Azure Cosmos DB unterstützt eine Reihe verschiedener Möglichkeiten zum Arbeiten mit Dokumenten. Ein Dokument kann erweitert werden. 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" });
}
Ein Dokument kann ein beliebiges POCO-Objekt sein, das in JSON serialisiert werden kann, auch wenn es nicht von 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" });
}
Ein Dokument kann auch ein dynamisches Objekt sein.
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" } );
}
Upsertieren eines Dokuments und Ausführen eines Pre- und Post-Triggers
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" }
});
}
Weitere Informationen
Gilt für:
UpsertDocumentAsync(Uri, Object, RequestOptions, Boolean, CancellationToken)
Erstellt ein Dokument als asychronen Vorgang im Azure Cosmos DB-Dienst.
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))
Parameter
- documentCollectionUri
- Uri
Der URI der Dokumentauflistung, in der das Dokument in upsert werden soll.
- document
- Object
Das Dokumentobjekt.
- options
- RequestOptions
(Optional) Die RequestOptions für die Anforderung.
- disableAutomaticIdGeneration
- Boolean
Ein Flag zum Deaktivieren der automatischen ID-Generierung.
- cancellationToken
- CancellationToken
(Optional) Ein CancellationToken , der von anderen Objekten oder Threads verwendet werden kann, um eine Benachrichtigung über den Abbruch zu erhalten.
Gibt zurück
Das Aufgabenobjekt, das die Dienstantwort für den asynchronen Vorgang darstellt.
Gilt für:
Azure SDK for .NET