Comando .create function
Aplica-se a: ✅Microsoft Fabric✅Azure 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
- Se
- 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 Demo
e 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 Demo
e 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 |