Partilhar via


Comando .create function

Aplica-se a: ✅Microsoft FabricAzure Data Explorer

Cria uma função armazenada, que é uma consulta KQL reutilizável, com o nome próprio. A definição da 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 instruções são permitidas como parte do Function Body. Ver let declarações.

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 usuário do banco de dados permissões para executar esse comando.

Sintaxe

.create function [ ifnotexists ] [ with(propertyName=propertyValue [, ...]) ] functionName(parâmetros){body}

Saiba mais sobre convenções de sintaxe.

Parâmetros

Designação Tipo Necessário Descrição
ifnotexists string Se especificada, a função só será criada se 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 propriedades suportadas.
parâmetros 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 suportadas

Designação 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 esta função como uma vista armazenada. As visualizações armazenadas podem participar de de pesquisa e cenários de união *. Para obter mais informações, consulte Views.
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
Designação 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 após a invocação da função.
Pasta string Uma pasta usada para categorização de funções da interface do usuário. Este parâmetro não altera a forma como a função é invocada.
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 sinalizador for especificado, o comando será ignorado (nenhuma alteração aplicada).
    • Se ifnotexists 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 instruções let. 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 simples

O exemplo a seguir cria a função MyFunction1 com uma descrição (docstring), uma pasta chamada Demoe define a função.

.create function 
with (docstring = 'Simple demo function', folder='Demo')
MyFunction1()
{StormEvents | take 100}
Designação Parâmetros Corpo Pasta DocString
MyFunction1 () {StormEvents | take 100} Demonstração Função de demonstração simples

Função com um parâmetro

O exemplo a seguir cria a função MyFunction2 com uma descrição (docstring), pasta chamada Demoe define o parâmetro Mytimestamp.

.create function with (docstring = "Demo function with date parameter",folder = "Demo") 
 MyFunction2(Mytimestamp:datetime) {
    StormEvents
    | where EndTime <= Mytimestamp
 }
Designação Parâmetros Corpo Pasta DocString
Minha Função2 (Mytimestamp:datetime) {StormEvents | onde EndTime <= Mytimestamp} Demonstração Função de demonstração com parâmetro de data