Cluster · разработчикам
Page
Значения объявленной страницы. save() отправляет весь снимок с проверкой ревизии.
Все методы SDK · Типы и ошибки
Получение объекта
page = await app.ui.page("overview").load()page загружена через load(); в описании страницы существуют status: text, count: metric и items: table.
Наследует Document. Унаследованные методы: path, dirty, get, parent, set, remove, rename, append, insert, move, sort, increment, reset, accept.
__init__
Создаёт Page. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
def __init__(ui: Interface, id: str) -> None: ...Аргументы
ui: Interface, обязательный. Служба страниц текущего приложения.id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.
Результат
None. Создаёт Page. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
# Обычный способ получения объекта:
page = await app.ui.page("overview").load()load
Загружает values, revision и definition страницы, принимая новый снимок.
async def load() -> Self: ...Аргументы
Нет.
Результат
Self. Тот же объект после успешной операции. Загружает values, revision и definition страницы, принимая новый снимок.
Права
Нужны interface.read.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
- ValueError до загрузки или при несовместимом типе элемента; Conflict при устаревшей ревизии на сохранении.
Пример
result = await page.load()element
Возвращает описание элемента после load(); отсутствующий ID вызывает KeyError.
def element(id: str) -> ElementDefinition: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.
Результат
ElementDefinition. Возвращает описание элемента после load(); отсутствующий ID вызывает KeyError.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
ValueError('Load the page first'): условие проверяется до продолжения операции.KeyError(id): условие проверяется до продолжения операции.- ValueError до загрузки или при несовместимом типе элемента; Conflict при устаревшей ревизии на сохранении.
Пример
result = page.element("object-id")text
Локально задаёт строковое значение текстового элемента.
def text(id: str, value: str) -> Self: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.value: str, обязательный. Строка для элемента text.
Результат
Self. Тот же объект после успешной операции. Локально задаёт строковое значение текстового элемента.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
ValueError('A text element and string are required'): условие проверяется до продолжения операции.- ValueError до загрузки или при несовместимом типе элемента; Conflict при устаревшей ревизии на сохранении.
Пример
page.text("status", "Ready")metric
Локально задаёт строковое или числовое значение метрики.
def metric(id: str, value: str | int | float) -> Self: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.value: str | int | float, обязательный. Значение метрики. bool не принимается.
Результат
Self. Тот же объект после успешной операции. Локально задаёт строковое или числовое значение метрики.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
ValueError('Invalid metric'): условие проверяется до продолжения операции.- ValueError до загрузки или при несовместимом типе элемента; Conflict при устаревшей ревизии на сохранении.
Пример
page.metric("count", 5)table
Создаёт редактор таблицы для объявленного элемента table.
def table(id: str) -> Table: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.
Результат
Table. Создаёт редактор таблицы для объявленного элемента table.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
ValueError('A table element is required'): условие проверяется до продолжения операции.- ValueError до загрузки или при несовместимом типе элемента; Conflict при устаревшей ревизии на сохранении.
Пример
table = page.table("items")save
Сохраняет значения страницы с проверкой revision и принимает снимок после успеха.
async def save() -> Self: ...Аргументы
Нет.
Результат
Self. Тот же объект после успешной операции. Сохраняет значения страницы с проверкой revision и принимает снимок после успеха.
Права
Нужны interface.write.
Ошибки
ValueError('Load the page first'): условие проверяется до продолжения операции.- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
- ValueError до загрузки или при несовместимом типе элемента; Conflict при устаревшей ревизии на сохранении.
Пример
result = await page.save()__aenter__
Вход в async with. Загружает значения и описание страницы.
async def __aenter__() -> Self: ...Аргументы
Нет.
Результат
Self. Тот же объект после успешной операции. Вход в async with. Загружает значения и описание страницы.
Права
Нужны interface.read.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
- ValueError до загрузки или при несовместимом типе элемента; Conflict при устаревшей ревизии на сохранении.
Пример
async with page as active:
pass__aexit__
Выход из async with. При успешном выходе сохраняет только изменённые значения; при исключении не сохраняет. Исключения блока не подавляются.
async def __aexit__(kind: type[BaseException] | None, error: BaseException | None, traceback: TracebackType | None) -> None: ...Аргументы
kind: type[BaseException] | None, обязательный. Тип исключения блока либо None. Передаётся Python автоматически.error: BaseException | None, обязательный. Исключение блока async with либо None; контекстный протокол передаёт автоматически.traceback: TracebackType | None, обязательный. Трассировка исключения контекстного блока; передаётся Python автоматически.
Результат
None. Выход из async with. При успешном выходе сохраняет только изменённые значения; при исключении не сохраняет. Исключения блока не подавляются.
Права
Нужны interface.write при изменении.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
- ValueError до загрузки или при несовместимом типе элемента; Conflict при устаревшей ревизии на сохранении.
Пример
async with page as active:
pass