Scripts.CreateUserDefinedFunctionAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Crée une fonction définie par l’utilisateur en tant qu’opération asynchrone dans le service Azure Cosmos DB.
public abstract System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.Scripts.UserDefinedFunctionResponse> CreateUserDefinedFunctionAsync (Microsoft.Azure.Cosmos.Scripts.UserDefinedFunctionProperties userDefinedFunctionProperties, Microsoft.Azure.Cosmos.RequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member CreateUserDefinedFunctionAsync : Microsoft.Azure.Cosmos.Scripts.UserDefinedFunctionProperties * Microsoft.Azure.Cosmos.RequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.Scripts.UserDefinedFunctionResponse>
Public MustOverride Function CreateUserDefinedFunctionAsync (userDefinedFunctionProperties As UserDefinedFunctionProperties, Optional requestOptions As RequestOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of UserDefinedFunctionResponse)
Paramètres
- userDefinedFunctionProperties
- UserDefinedFunctionProperties
- requestOptions
- RequestOptions
(Facultatif) Options pour la demande de fonction définie par l’utilisateur.
- cancellationToken
- CancellationToken
(Facultatif) CancellationToken représentant l’annulation de la demande.
Retours
Objet de tâche représentant la réponse de service pour l’opération asynchrone.
Exceptions
Si userDefinedFunctionProperties
n’est pas défini.
Représente une consolidation des échecs qui se sont produits pendant le traitement asynchrone. Recherchez la ou les exceptions réelles dans InnerExceptions
Cette exception peut encapsuler de nombreux types d’erreurs différents. Pour déterminer l’erreur spécifique, examinez toujours la propriété StatusCode. Voici quelques codes courants que vous pouvez obtenir lors de la création d’une fonction définie par l’utilisateur :
StatusCode | Raison de l’exception |
---|---|
400 | BadRequest : cela signifie qu’il y a eu un problème avec la demande fournie. Il est probable qu’un ID n’a pas été fourni pour la nouvelle fonction définie par l’utilisateur ou que le corps a été mal formé. |
403 | Interdit : vous avez atteint votre quota de fonctions définies par l’utilisateur pour la collection fournie. Contactez le support technique pour augmenter ce quota. |
409 | Conflit : cela signifie qu’un UserDefinedFunctionProperties avec un ID correspondant à l’ID que vous avez fourni existait déjà. |
413 | RequestEntityTooLarge : cela signifie que le corps du UserDefinedFunctionProperties que vous avez essayé de créer était trop grand. |
Exemples
Cela crée une fonction définie par l’utilisateur, puis utilise la fonction dans une requête d’élément.
Scripts 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");
using (FeedIterator<double> setIterator = this.container.Items.GetItemsQueryIterator<double>(
sqlQueryDefinition: sqlQuery,
partitionKey: "Done")
{
while (setIterator.HasMoreResults)
{
foreach (var tax in await setIterator.ReadNextAsync())
{
Console.WriteLine(tax);
}
}
}
S’applique à
Azure SDK for .NET