Compartilhar via


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

.createfunction 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
  • 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