Cluster · разработчикам
Fields
Упорядоченная схема конфигурации, не более 64 полей.
Все методы SDK · Типы и ошибки
Получение объекта
fields = app.config.fields().add("title", app.config.field("string"))__init__
Создаёт Fields. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
def __init__() -> None: ...Аргументы
Нет.
Результат
None. Создаёт Fields. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
# Обычный способ получения объекта:
fields = app.config.fields().add("title", app.config.field("string"))add
Добавляет поле с уникальным идентификатором.
def add(id: str, field: Field) -> Self: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.field: Field, обязательный. Объект Field для добавления в схему.
Результат
Self. Тот же объект после успешной операции. Добавляет поле с уникальным идентификатором.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
ValueError('Duplicate field'): условие проверяется до продолжения операции.TypeError('A Field is required'): условие проверяется до продолжения операции.ValueError('Too many fields'): условие проверяется до продолжения операции.
Пример
result = fields.add("object-id", app.config.field("string"))__iter__
Перебирает идентификаторы полей в порядке добавления.
def __iter__() -> Iterator[str]: ...Аргументы
Нет.
Результат
Iterator[str]. Перебирает идентификаторы полей в порядке добавления.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
values = list(fields)__len__
Возвращает число полей схемы.
def __len__() -> int: ...Аргументы
Нет.
Результат
int. Возвращает число полей схемы.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
count = len(fields)__getitem__
Возвращает сам объект поля по его идентификатору.
def __getitem__(id: str) -> Field: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.
Результат
Field. Возвращает сам объект поля по его идентификатору.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
value = fields["object-id"]remove
Удаляет поле, если другие поля не ссылаются на него через when.
def remove(id: str) -> Self: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.
Результат
Self. Тот же объект после успешной операции. Удаляет поле, если другие поля не ссылаются на него через when.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
ValueError('The field has dependent conditions'): условие проверяется до продолжения операции.
Пример
result = fields.remove("object-id")rename
Переименовывает поле, сохраняя порядок и обновляя ссылки when.
def rename(id: str, name: str) -> Self: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.name: str, обязательный. Имя функции, сигнала либо поля в выбранном объекте.
Результат
Self. Тот же объект после успешной операции. Переименовывает поле, сохраняя порядок и обновляя ссылки when.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
ValueError('The field already exists'): условие проверяется до продолжения операции.KeyError(id): условие проверяется до продолжения операции.
Пример
result = fields.rename("object-id", "status")move
Перемещает поле на существующую позицию.
def move(id: str, index: int) -> Self: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.index: int, обязательный. Позиция от нуля в указанном списке или строке. Допустимые границы проверяются методом.
Результат
Self. Тот же объект после успешной операции. Перемещает поле на существующую позицию.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
IndexError('Invalid field position'): условие проверяется до продолжения операции.
Пример
result = fields.move("object-id", 0)sort
Сортирует поля по идентификатору с возможным обратным порядком.
def sort(reverse: bool = False) -> Self: ...Аргументы
reverse: bool, по умолчаниюFalse. Логический переключатель указанного действия.
Результат
Self. Тот же объект после успешной операции. Сортирует поля по идентификатору с возможным обратным порядком.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
result = fields.sort()build
Проверяет все поля и зависимости when, включая отсутствие циклов, и возвращает JSON-схему.
def build() -> dict[str, FieldDefinition]: ...Аргументы
Нет.
Результат
dict[str, FieldDefinition]. Проверяет все поля и зависимости when, включая отсутствие циклов, и возвращает JSON-схему.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
ValueError('Cyclic field conditions'): условие проверяется до продолжения операции.ValueError('Unknown condition field'): условие проверяется до продолжения операции.
Пример
result = fields.build()