Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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
ifnotexistssinalizador for especificado, o comando será ignorado (nenhuma alteração aplicada). - Se
ifnotexistssinalizador 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
skipvalidationpara 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 |