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


Команда .create function

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

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

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

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

Разрешения

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

Синтаксис

.create function [ [ ifnotexistswith(propertyName=propertyValue [, ...] ])Текст параметров (){}

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

Параметры

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

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

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

Совет

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

Возвраты

Выходной параметр Type Описание
Имя (название) 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и определяется параметр Mytimestamp.

.create function with (docstring = "Demo function with date parameter",folder = "Demo") 
 MyFunction2(Mytimestamp:datetime) {
    StormEvents
    | where EndTime <= Mytimestamp
 }
Имя (название) Параметры Текст Папка DocString
MyFunction2 (Mytimestamp:datetime) {StormEvents | where EndTime <= Mytimestamp} Демонстрация Демонстрация функции с параметром date