Scripts.CreateUserDefinedFunctionAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria uma função definida pelo usuário como uma operação assíncrona no serviço do 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
O objeto UserDefinedFunctionProperties.
- requestOptions
- RequestOptions
(Opcional) As opções para a solicitação de função definida pelo usuário.
- cancellationToken
- CancellationToken
(Opcional) CancellationToken que representa o cancelamento da solicitação.
Retornos
Um objeto de tarefa que representa a resposta do serviço para a operação assíncrona.
Exceções
Se userDefinedFunctionProperties
não estiver definido.
Representa uma consolidação de falhas que ocorreram durante o processamento assíncrono. Procure dentro de InnerExceptions para encontrar as exceções reais
Essa exceção pode encapsular muitos tipos diferentes de erros. Para determinar o erro específico, sempre examine a propriedade StatusCode. Alguns códigos comuns que você pode obter ao criar uma função definida pelo usuário são:
StatusCode | Motivo da exceção |
---|---|
400 | BadRequest - Isso significa que algo estava errado com a solicitação fornecida. É provável que uma ID não tenha sido fornecida para a nova função definida pelo usuário ou que o Corpo tenha sido malformado. |
403 | Proibido – você atingiu sua cota de funções definidas pelo usuário para a coleção fornecida. Entre em contato com o suporte para aumentar essa cota. |
409 | Conflito – isso significa que um com uma UserDefinedFunctionProperties ID correspondente à ID que você forneceu já existia. |
413 | RequestEntityTooLarge - Isso significa que o corpo do UserDefinedFunctionProperties que você tentou criar era muito grande. |
Exemplos
Isso cria uma função definida pelo usuário e usa a função em uma consulta de item.
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);
}
}
}
Aplica-se a
Azure SDK for .NET