Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer
Crea una función almacenada, que es una consulta KQL reutilizable, con el nombre especificado. La definición de función se conserva con los metadatos de la base de datos.
Las funciones pueden llamar a otras funciones (no se admite la recursividad). Además, let se permiten instrucciones como parte del cuerpo de la función. Consulte las let instrucciones .
Las reglas para los tipos de parámetro y las instrucciones CSL son las mismas que para let las instrucciones .
Permisos
Debe tener al menos permisos de usuario de base de datos para ejecutar este comando.
Sintaxis
.create
function [ ] [ ifnotexistswith(propertyName=propertyValue [, ...] ] (
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
| Nombre | Type | Obligatorio | Descripción |
|---|---|---|---|
ifnotexists |
string |
Si se especifica, la función solo se creará si la función aún no existe. | |
| functionName | string |
✔️ | Nombre de la función que se va a crear o modificar. |
| propertyName, propertyValue | string |
Lista separada por comas de pares de propiedades clave-valor. Consulte las propiedades admitidas. | |
| parameters | string |
Lista separada por comas de parámetros requeridos por la función. El formato de cada parámetro debe ser ParameterName:ParameterDataType. |
|
| cuerpo | string |
✔️ | Expresión de función definida por el usuario. |
Propiedades admitidas
| Nombre | Type | Descripción |
|---|---|---|
docstring |
string |
Descripción de la función con fines de interfaz de usuario. |
folder |
string |
Nombre de una carpeta usada para la categorización de funciones de interfaz de usuario. |
view |
bool |
Designa esta función como una vista almacenada. Las vistas almacenadas pueden participar en escenarios de búsqueda y unión * . Para obtener más información, vea Vistas. |
skipvalidation |
bool |
Determina si se va a ejecutar la lógica de validación en la función y se produce un error en el proceso si la función no es válida. El valor predeterminado es false. |
Sugerencia
Si una función implica consultas entre clústeres y planea volver a crear la función mediante un script de Lenguaje de consulta Kusto, establezca en skipvalidationtrue.
Devoluciones
| Parámetro de salida | Type | Descripción |
|---|---|---|
| Nombre | string |
El nombre de la función. |
| Parámetros | string |
Parámetros requeridos por la función . |
| Body | string |
(Cero o más) let instrucciones seguidas de una expresión CSL válida que se evalúa tras la invocación de función. |
| Carpeta | string |
Carpeta que se usa para la categorización de funciones de interfaz de usuario. Este parámetro no cambia la forma en que se invoca la función. |
| DocString | string |
Descripción de la función con fines de interfaz de usuario. |
Nota:
- Si la función ya existe:
- Si
ifnotexistsse especifica la marca, se omite el comando (no se aplica ningún cambio). - Si
ifnotexistsno se especifica flag, se devuelve un error. - Para modificar una función existente, consulte
.alter function
- Si
- No todos los tipos de datos se admiten en
letinstrucciones . Los tipos admitidos son: booleano, string, long, datetime, timespan, double y dynamic. - Use
skipvalidationpara omitir la validación semántica de la función. Esto resulta útil cuando las funciones se crean en un orden incorrecto y F1 que usa F2 se crean anteriormente.
Ejemplos
Función simple
En el ejemplo siguiente se crea la MyFunction1 función con una descripción (docstring), una carpeta denominada Demoy se define la función .
.create function
with (docstring = 'Simple demo function', folder='Demo')
MyFunction1()
{StormEvents | take 100}
| Nombre | Parámetros | Body | Carpeta | DocString |
|---|---|---|---|---|
| MyFunction1 | () | {StormEvents | take 100} | Demostración | Función de demostración simple |
Función con un parámetro
En el ejemplo siguiente se crea la función MyFunction2 con una descripción (docstring), carpeta denominada Demoy se define el parámetro Mytimestamp.
.create function with (docstring = "Demo function with date parameter",folder = "Demo")
MyFunction2(Mytimestamp:datetime) {
StormEvents
| where EndTime <= Mytimestamp
}
| Nombre | Parámetros | Body | Carpeta | DocString |
|---|---|---|---|---|
| MyFunction2 | (Mytimestamp:datetime) | {StormEvents | where EndTime <= Mytimestamp} | Demostración | Función de demostración con el parámetro date |