CosmosScripts.CreateUserDefinedFunctionAsync 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.
Erstellt eine benutzerdefinierte Funktion als asynchronen Vorgang im Azure Cosmos DB-Dienst.
public abstract System.Threading.Tasks.Task<Azure.Response<Azure.Cosmos.Scripts.UserDefinedFunctionProperties>> CreateUserDefinedFunctionAsync (Azure.Cosmos.Scripts.UserDefinedFunctionProperties userDefinedFunctionProperties, Azure.Cosmos.RequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member CreateUserDefinedFunctionAsync : Azure.Cosmos.Scripts.UserDefinedFunctionProperties * Azure.Cosmos.RequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Azure.Response<Azure.Cosmos.Scripts.UserDefinedFunctionProperties>>
Public MustOverride Function CreateUserDefinedFunctionAsync (userDefinedFunctionProperties As UserDefinedFunctionProperties, Optional requestOptions As RequestOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Response(Of UserDefinedFunctionProperties))
Parameter
- userDefinedFunctionProperties
- UserDefinedFunctionProperties
Das UserDefinedFunctionProperties-Objekt.
- requestOptions
- RequestOptions
(Optional) Die Optionen für die benutzerdefinierte Funktionsanforderung RequestOptions
- cancellationToken
- CancellationToken
(Optional) CancellationToken stellt die Anforderungsabbruch dar.
Gibt zurück
Ein Taskobjekt, das die Dienstantwort für den asynchronen Vorgang darstellt.
Ausnahmen
Wenn userDefinedFunctionProperties
nicht festgelegt ist.
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 einer benutzerdefinierten Funktion erhalten, sind:
StatusCode | Ausnahmegrund |
---|---|
400 | BadRequest: Dies bedeutet, dass mit der bereitgestellten Anforderung etwas nicht stimmte. Es ist wahrscheinlich, dass keine ID für die neue benutzerdefinierte Funktion angegeben wurde oder dass der Textkörper falsch formatiert wurde. |
403 | Verboten: Sie haben Ihr Kontingent an benutzerdefinierten Funktionen für die bereitgestellte Sammlung erreicht. Wenden Sie sich an den Support, um dieses Kontingent zu erhöhen. |
409 | Konflikt: Dies bedeutet, dass eine UserDefinedFunctionProperties mit einer ID übereinstimmt, die der von Ihnen angegebenen ID entspricht, bereits vorhanden ist. |
413 | RequestEntityTooLarge: Dies bedeutet, dass der Textkörper der UserDefinedFunctionProperties zu erstellenden Datei zu groß war. |
Beispiele
Dadurch wird eine benutzerdefinierte Funktion erstellt und dann die Funktion in einer Elementabfrage verwendet.
CosmosScripts scripts = this.container.Scripts;
await scripts.UserDefinedFunctions.CreateUserDefinedFunctionAsync(
new UserDefinedFunctionProperties
{
Id = "calculateTax",
Body = @"function(amt) { return amt * 0.05; }"
});
QueryDefinition sqlQuery = new QueryDefinition(
"SELECT VALUE udf.calculateTax(t.cost) FROM toDoActivity t where t.cost > @expensive and t.status = @status")
.WithParameter("@expensive", 9000)
.WithParameter("@status", "Done");
await foreach (double tax in this.container.Items.GetItemsQueryIterator<double>(
sqlQueryDefinition: sqlQuery,
partitionKey: "Done"))
{
Console.WriteLine(tax);
}
Gilt für:
Azure SDK for .NET