Comando de função .create

Cria uma função armazenada, que é uma consulta KQL reutilizável, com o nome especificado. A definição da função é mantida com os metadados da base 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 da Função. Veja let as instruções.

As regras para tipos de parâmetros e instruções CSL são as mesmas que para let instruções.

Permissões

Tem de ter, pelo menos, permissões de Utilizador da Base de Dados para executar este comando.

Syntax

.createfunction [ ifnotexists ] [ with(propertyName=propertyValue [, ...]) ] functionName(parâmetros){corpo}

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Necessário Descrição
ifnotexists string Se for especificada, a função só será criada se a função ainda não existir.
functionName string ✔️ O nome da função a criar ou alterar.
propertyName, propertyValue string Uma lista separada por vírgulas de pares de propriedades chave-valor. Veja as propriedades suportadas.
parameters string Uma lista separada por vírgulas dos parâmetros exigidos pela função. O formato para cada parâmetro tem de ser ParameterName:ParameterDataType.
corpo string ✔️ Uma expressão de função definida pelo utilizador.

Propriedades suportadas

Nome Tipo Description
docstring string Uma descrição da função para fins de IU.
folder string O nome de uma pasta utilizada para categorização de funções de IU.
view bool Designa esta função como uma vista armazenada. As vistas armazenadas podem participar em cenários de pesquisa e união * . Para obter mais informações, consulte Vistas.
skipvalidation bool Determina se deve ou não executar a lógica de validação na função e falhar o processo se a função não for válida. A predefinição é false.

Dica

Se uma função envolver consultas entre clusters e planear recriar a função com um script de Linguagem de Pesquisa Kusto, 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 de uma expressão CSL válida que é avaliada após invocação de função.
Pasta string Uma pasta utilizada para categorização de funções de IU. Este parâmetro não altera a forma como a função é invocada.
DocString string Uma descrição da função para fins de IU.

Nota

  • Se a função já existir:
    • Se ifnotexists o sinalizador for especificado, o comando é ignorado (nenhuma alteração aplicada).
    • Se ifnotexists o sinalizador NÃO for especificado, é devolvido um erro.
    • 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, cadeia, longo, datetime, timespan, double e dynamic.
  • Utilize skipvalidation para ignorar a validação semântica da função. Isto é útil quando as funções são criadas por uma ordem incorreta e F1 que utiliza F2 é criado anteriormente.

Exemplos

Função de demonstração simples

.create function 
with (docstring = 'Simple demo function', folder='Demo')
MyFunction1()  {StormEvents | take 100}
Name Parâmetros Corpo Pasta DocString
MyFunction1 () {StormEvents | take 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}
Name Parâmetros Corpo Pasta DocString
MyFunction2 (myLimit:long) {StormEvents | take myLimit} Demonstração Função de demonstração com parâmetro