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
.create
function
[ 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
- Se
- 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 |
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários