Функции

Функции - это сущности контекста, которые можно выполнять, чтобы заставить контекст или представляемое им устройство/систему совершить определенное действие.

Каждый вызов функции принимает некоторые входные данные и возвращает выходные данные. И входные, и выходные данные всегда представляют собой таблицы данных:

  • Чтобы вызвать функцию, необходимо сформировать входную таблицу данных, формат которой соответствует входному формату функции.

  • После вызова вы получаете выходную таблицу данных, формат которой соответствует выходному формату функции.

Каждая из этих таблиц данных может содержать множество записей и полей или даже включать вложенные таблицы данных в своих ячейках, поэтому сложность входных и выходных данных функции практически не ограничена.

Иногда функции также называют операциями или методами. Таким образом, вызов функции контекста, выполнение операции контекста и вызов метода контекста означают одно и то же. В то же время действия контекста не следует путать с функциями, поскольку они предполагают последовательность серверных операций и взаимодействий с пользователями.

Определение функции

Каждая функция определяется при помощи Определения функции. Определение содержит несколько опций:

  • Имя функции. Имя является уникальным в контексте, в котором определена функция. Представляет собой строку, которая может содержать только английские буквы, цифры и символ нижнего подчеркивания ("_").

  • Входной формат. Формат Таблицы данных, используемый для определения значения входных параметров функции.

  • Выходной формат. Формат таблицы данных, используемый для определения значения выходных параметров функции.

  • Описание. Удобное для восприятия описание функции.

  • Помощь. Подробное описание функции (опционально).

  • Права доступа. Уровень прав, необходимый для вызова функции.

  • Группа. Показывает, что функции принадлежащие к группе функций. Группа помогает объединять похожие функции во время выполнения различных операций.

Примеры

Контекст Пользователи имеет функцию под названием list ("Список пользователей"), которая возвращает список всех Учетных записей на сервере, доступных для пользователя, который вызывает функцию.

Контекст Запланированные задачи имеет функцию под названием create ("Запланировать новую задачу"), которая создает новую задачу с определенными параметрами.

Контекст users.admin.devices.dev1 может содержать функция reboot ("Перезагрузить"), которая перезагружает Устройство dev1.

Обратите внимание, что функции не интерактивны сами по себе. Они являются внутренними операциями сервера - их выполнение происходит "за кулисами". Чтобы предоставить параметры входа для функции (или посмотреть возвращаемые параметры), используются интерактивные Действия с их UI процедурами.

Реализация функции

Type or paste something here to turn it into an excerpt.Разные функции реализуются по-разному:

  • Некоторые функции ведут себя согласно логике, применяемой в ядре платформы или в плагине

  • Некоторые функции делегируют свою логику внешнему устройству

  • Некоторые функции делегируют свою логику лоу код алгоритму, такому как набор правил

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

Was this page helpful?