Поделиться через


Команда .create function

Область применения: ✅Microsoft Fabric✅Azure Data Explorer

Создает хранимую функцию, которая является повторно используемым запросом KQL с заданным именем. Определение функции сохраняется с метаданными базы данных.

Функции могут вызывать другие функции (рекурсивность не поддерживается). Кроме того, let операторы допускаются в составе тела функции. См let . инструкции.

Правила для типов параметров и инструкций CSL совпадают с let правилами инструкций.

Разрешения

Для выполнения этой команды необходимо иметь по крайней мере разрешения пользователя базы данных.

Синтаксис

.createfunction [ [ ifnotexists with(propertyName = propertyValue [, ...] ]) Текст параметров {) functionName ( }

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Type Обязательно Описание
ifnotexists string Если задано, функция будет создана только в том случае, если функция еще не существует.
functionName string ✔️ Имя функции для создания или изменения.
propertyName, propertyValue string Разделенный запятыми список пар свойств "ключ-значение". См . поддерживаемые свойства.
parameters string Разделенный запятыми список параметров, необходимых функции. Формат каждого параметра должен иметь значение ParameterName:ParameterDataType.
текст string ✔️ Определяемое пользователем выражение функции.

Поддерживаемые свойства

Имя. Тип Описание
docstring string Описание функции для целей пользовательского интерфейса.
folder string Имя папки, используемой для классификации функций пользовательского интерфейса.
view bool Назначает эту функцию в качестве сохраненного представления. Сохраненные представления могут участвовать в сценариях поиска и объединения * . Дополнительные сведения см. в разделе "Представления".
skipvalidation bool Определяет, следует ли выполнять логику проверки в функции и завершать сбой процесса, если функция не является допустимой. Значение по умолчанию — false.

Совет

Если функция включает запросы между кластерами и планируете повторно создать функцию с помощью скрипта язык запросов Kusto, установите для этого значение skipvalidation true.

Возвраты

Выходной параметр Тип Description
Имя. string Имя функции.
Параметры string Параметры, необходимые функции.
Текст string (Ноль или больше) let операторы, за которыми следует допустимое выражение CSL, вычисляемое при вызове функции.
Папка string Папка, используемая для классификации функций пользовательского интерфейса. Этот параметр не изменяет способ вызова функции.
DocString string Описание функции для целей пользовательского интерфейса.

Примечание.

  • Если функция уже существует:
    • Если ifnotexists задан флаг, команда игнорируется (не применяется никаких изменений).
    • Если ifnotexists флаг НЕ указан, возвращается ошибка.
    • Сведения об изменении существующей функции см. в разделе .alter function
  • Не все типы данных поддерживаются в let инструкциях. Поддерживаемые типы: логическое значение, строка, long, datetime, timepan, double и dynamic.
  • Используйте skipvalidation для пропуска семантической проверки функции. Это полезно, если функции создаются в неправильном порядке, и F1, использующий F2, создается ранее.

Примеры

Простая демонстрационная функция

В следующем примере функция создается MyFunction1 с описанием (docstring), папкой с именем Demoи определяет функцию.

.create function 
with (docstring = 'Simple demo function', folder='Demo')
MyFunction1()
{StormEvents | take 100}
Имя. Параметры Текст Папка DocString
MyFunction1 () {StormEvents | принять 100} Демонстрация Простая демонстрационная функция

Демонстрация функции с параметром

В следующем примере создается функция MyFunction2 с описанием (docstring), папкой с именем Demoи определяет MyLimit параметр.

.create function
with (docstring = 'Demo function with parameter', folder='Demo')
 MyFunction2(myLimit: long)
{StormEvents | take myLimit}
Имя. Параметры Текст Папка DocString
MyFunction2 (myLimit:long) {StormEvents | take myLimit} Демонстрация Демонстрация функции с параметром