Share via


Comando .create function

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 let las instrucciones .

Las reglas para los tipos de parámetros y las instrucciones CSL son las mismas que para las let instrucciones .

Permisos

Debe tener al menos permisos de usuario de base de datos para ejecutar este comando.

Syntax

.createfunction[ ] [ withifnotexists( propertyName =propertyValue [, ...]) ] Nombrefunción(Parámetros){Cuerpo}

Más información sobre las convenciones de sintaxis.

Parámetros

Nombre Tipo Requerido Descripción
ifnotexists string Si se especifica, la función solo se creará si la función aún no existe.
Nombrefunción 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.
body string ✔️ Expresión de función definida por el usuario.

Propiedades admitidas

Nombre Tipo 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 la 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 o no 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 tiene previsto volver a crear la función mediante un script de Lenguaje de consulta Kusto, establezca en skipvalidationtrue.

Devoluciones

Parámetro de salida Tipo Descripción
Nombre string El nombre de la función.
Parámetros string Parámetros requeridos por la función .
Cuerpo 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 usada para la categorización de funciones de la 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 ifnotexists se especifica flag, se omite el comando (no se aplica ningún cambio).
    • Si ifnotexists no se especifica flag, se devuelve un error.
    • Para modificar una función existente, consulte .alter function
  • No todos los tipos de datos se admiten en let instrucciones . Los tipos admitidos son: booleano, string, long, datetime, timespan, double y dynamic.
  • Use skipvalidation para omitir la validación semántica de la función. Esto resulta útil cuando se crean funciones en un orden incorrecto y F1 que usa F2 se crea anteriormente.

Ejemplos

Función de demostración sencilla

.create function 
with (docstring = 'Simple demo function', folder='Demo')
MyFunction1()  {StormEvents | take 100}
Nombre Parámetros Cuerpo Carpeta DocString
MyFunction1 () {StormEvents | take 100} Demostración Función de demostración sencilla

Función de demostración con el parámetro

.create function
with (docstring = 'Demo function with parameter', folder='Demo')
 MyFunction2(myLimit: long)  {StormEvents | take myLimit}
Nombre Parámetros Cuerpo Carpeta DocString
MyFunction2 (myLimit:long) {StormEvents | take myLimit} Demostración Función de demostración con el parámetro