Scripts.CreateUserDefinedFunctionAsync Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea una función definida por el usuario como una operación asincrónica en el servicio 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)
Parámetros
- userDefinedFunctionProperties
- UserDefinedFunctionProperties
Objeto UserDefinedFunctionProperties.
- requestOptions
- RequestOptions
(Opcional) Las opciones de la solicitud de función definida por el usuario.
- cancellationToken
- CancellationToken
(Opcional) CancellationToken que representa la cancelación de la solicitud.
Devoluciones
Objeto de tarea que representa la respuesta del servicio para la operación asincrónica.
Excepciones
Si userDefinedFunctionProperties
no se establece.
Representa una consolidación de errores que se produjeron durante el procesamiento asincrónico. Busque en InnerExceptions para buscar las excepciones reales.
Esta excepción puede encapsular muchos tipos diferentes de errores. Para determinar el error específico, examine siempre la propiedad StatusCode. Algunos códigos comunes que puede obtener al crear una función definida por el usuario son:
StatusCode | Motivo de la excepción |
---|---|
400 | BadRequest: esto significa que algo estaba mal con la solicitud proporcionada. Es probable que no se haya proporcionado un identificador para la nueva función definida por el usuario o que el cuerpo tenga un formato incorrecto. |
403 | Prohibido: ha alcanzado la cuota de funciones definidas por el usuario para la colección proporcionada. Póngase en contacto con el soporte técnico para aumentar esta cuota. |
409 | Conflicto: significa que UserDefinedFunctionProperties un con un identificador que coincide con el identificador que proporcionó ya existía. |
413 | RequestEntityTooLarge: esto significa que el cuerpo del UserDefinedFunctionProperties objeto que intentó crear era demasiado grande. |
Ejemplos
Esto crea una función definida por el usuario y, a continuación, usa la función en una consulta de elementos.
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);
}
}
}
Se aplica a
Azure SDK for .NET