Comando .create function
Cria uma função armazenada, que é uma consulta KQL reutilizável, com o nome fornecido. A definição de função é mantida com os metadados do banco de dados.
As funções podem chamar outras funções (a recursividade não é suportada). Além disso, let
as instruções são permitidas como parte do Corpo de Função. Veja let
depoimentos.
As regras para tipos de parâmetros e instruções CSL são as mesmas que para let
instruções.
Permissões
Você deve ter pelo menos permissões de Usuário do Banco de Dados para executar esse comando.
Sintaxe
.create
function
ifnotexists
[ ] [with
(
propertyName =
propertyValue [,
...] ] )
corpo dos parâmetros{
)
functionName (
}
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
ifnotexists |
string |
Se especificado, a função só será criada se a função ainda não existir. | |
functionName | string |
✔️ | O nome da função a ser criada ou alterada. |
propertyName, propertyValue | string |
Uma lista separada por vírgulas de pares de propriedades chave-valor. Consulte as propriedades suportadas. | |
parameters | string |
Uma lista separada por vírgulas de parâmetros exigidos pela função. O formato para cada parâmetro deve ser ParameterName: ParameterDataType. |
|
Corpo | string |
✔️ | Uma expressão de função definida pelo usuário. |
Propriedades com suporte
Nome | Tipo | Descrição |
---|---|---|
docstring |
string |
Uma descrição da função para fins de interface do usuário. |
folder |
string |
O nome de uma pasta usada para categorização de funções da interface do usuário. |
view |
bool |
Designa essa função como uma exibição armazenada. As exibições armazenadas podem participar de cenários de pesquisa e união * . Para obter mais informações, consulte Modos de exibição. |
skipvalidation |
bool |
Determina se a lógica de validação deve ou não ser executada na função e falhar no processo se a função não for válida. O padrão é false . |
Dica
Se uma função envolver consultas entre clusters e você planeja recriar a função usando um script Kusto Query Language, defina skipvalidation
como true
.
Devoluções
Parâmetro de saída | Tipo | Descrição |
---|---|---|
Nome | string |
O nome da função. |
Parâmetros | string |
Os parâmetros exigidos pela função. |
Corpo | string |
(Zero ou mais) let instruções seguidas por uma expressão CSL válida que é avaliada na chamada da função. |
Pasta | string |
Uma pasta usada para categorização de funções da interface do usuário. Esse parâmetro não altera a maneira como a função é chamada. |
DocString | string |
Uma descrição da função para fins de interface do usuário. |
Observação
- Se a função já existir:
- Se
ifnotexists
o sinalizador for especificado, o comando será ignorado (nenhuma alteração aplicada). - Se
ifnotexists
o sinalizador NÃO for especificado, um erro será retornado. - Para alterar uma função existente, consulte
.alter function
- Se
- Nem todos os tipos de dados são suportados em
let
instruções. Os tipos suportados são: booleano, string, long, datetime, timepan, double e dynamic. - Use
skipvalidation
para ignorar a validação semântica da função. Isso é útil quando as funções são criadas em uma ordem incorreta e F1 que usa F2 é criado anteriormente.
Exemplos
Função de demonstração simples
.create function
with (docstring = 'Simple demo function', folder='Demo')
MyFunction1() {StormEvents | take 100}
Nome | Parâmetros | Corpo | Pasta | DocString |
---|---|---|---|---|
MyFunction1 | () | {StormEvents | tomar 100} | Demonstração | Função de demonstração simples |
Função de demonstração com parâmetro
.create function
with (docstring = 'Demo function with parameter', folder='Demo')
MyFunction2(myLimit: long) {StormEvents | take myLimit}
Nome | Parâmetros | Corpo | Pasta | DocString |
---|---|---|---|---|
MyFunction2 | (myLimit:longo) | {StormEvents | tomar myLimit} | Demonstração | Função de demonstração com parâmetro |
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de