Container.UpsertItemAsync<T> 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.
Führt ein Element als asynchronen Vorgang im Azure Cosmos-Dienst durch.
public abstract System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.ItemResponse<T>> UpsertItemAsync<T> (T item, Microsoft.Azure.Cosmos.PartitionKey? partitionKey = default, Microsoft.Azure.Cosmos.ItemRequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member UpsertItemAsync : '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 UpsertItemAsync(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))
Typparameter
- T
Parameter
- item
- T
Ein serialisierbares JSON-Objekt, das eine ID-Eigenschaft enthalten muss. CosmosSerializer so implementieren Sie ein benutzerdefiniertes Serialisierungsprogramm
- partitionKey
- Nullable<PartitionKey>
PartitionKey für das Element. Wenn nicht angegeben, wird durch Extrahieren aus {T} aufgefüllt.
- requestOptions
- ItemRequestOptions
(Optional) Die Optionen für die Elementanforderung.
- cancellationToken
- CancellationToken
(Optional) CancellationToken stellt die Anforderungsabbruch dar.
Gibt zurück
Die ItemResponse<T> , die in einem Task Objekt enthalten ist, das die Dienstantwort für den asynchronen Vorgang darstellt.
Ausnahmen
Stellt eine Konsolidierung von Fehlern dar, die während der asynchronen Verarbeitung aufgetreten sind. Suchen Sie in InnerExceptions, um die tatsächlichen Ausnahmen zu finden.
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, sind:
StatusCode | Ausnahmegrund |
---|---|
400 | BadRequest: Dies bedeutet, dass mit dem bereitgestellten Dokument etwas nicht stimmte. |
403 | Verboten: Dies bedeutet wahrscheinlich, dass die Sammlung, in der Sie versucht haben, das Dokument hochzusert, voll ist. |
413 | RequestEntityTooLarge: Dies bedeutet, dass das Element 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 Wert DocumentClientException.RetryAfter, um zu ermitteln, wie lange Sie warten sollten, bevor Sie diesen Vorgang wiederholen. |
Beispiele
public class ToDoActivity{
public string id {get; set;}
public string status {get; set;}
}
ToDoActivity test = new ToDoActivity()
{
id = Guid.NewGuid().ToString(),
status = "InProgress"
};
ItemResponse<ToDoActivity> item = await this.container.UpsertItemAsync<ToDoActivity>(test, new PartitionKey(test.status));
Gilt für:
Azure SDK for .NET