Cluster · разработчикам
Module
Выбранная зависимость и профиль её экземпляра. Функции и сигналы должны быть объявлены получателем.
Все методы SDK · Типы и ошибки
Получение объекта
target = app.modules("dependency-id", "main")target выбирает установленную и запущенную зависимость; status обозначает объявленную у неё функцию.
__init__
Создаёт Module. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
def __init__(modules: Modules, module: str | None, slot: str | None = None) -> None: ...Аргументы
modules: Modules, обязательный. Служба вызовов текущего приложения.module: str | None, обязательный. ID публикации модуля. None выбирает текущий раздел там, где это предусмотрено.slot: str | None, по умолчаниюNone. Имя профиля экземпляра. None использует выбор зависимости или текущий профиль.
Результат
None. Создаёт Module. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
# Обычный способ получения объекта:
target = app.modules("dependency-id", "main")select
Создаёт новый объект той же зависимости с другим профилем экземпляра.
def select(slot: str | None) -> Module: ...Аргументы
slot: str | None, обязательный. Имя профиля экземпляра. None использует выбор зависимости или текущий профиль.
Результат
Module. Создаёт новый объект той же зависимости с другим профилем экземпляра.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
result = target.select("main")function
Создаёт подготовленный вызов функции с именованными JSON-аргументами.
def function(name: str, **values: JSON) -> Call: ...Аргументы
name: str, обязательный. Имя функции, сигнала либо поля в выбранном объекте.values: JSON, произвольные именованные аргументы. Именованные JSON-аргументы объявленного обработчика по его схеме.
Результат
Call. Создаёт подготовленный вызов функции с именованными JSON-аргументами.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
call = target.function("status")call
Запускает функцию и ожидает результат с помощью Call.wait().
async def call(function: str, values: dict[str, JSON] | None = None, timeout: float = 30) -> JSON: ...Аргументы
function: str, обязательный. Имя функции, сигнала либо поля в выбранном объекте.values: dict[str, JSON] | None, по умолчаниюNone. Именованные JSON-аргументы объявленного обработчика по его схеме. None означает пустой словарь.timeout: float, по умолчанию30. Конечный положительный срок ожидания в секундах. Истечение не отменяет удалённое действие.
Результат
JSON. Запускает функцию и ожидает результат с помощью Call.wait().
Права
Нужны modules.call.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
result = await target.call("status")emit
Отправляет сигнал выбранной зависимости без ожидания результата функции.
async def emit(signal: str, values: JSON = None) -> JSON: ...Аргументы
signal: str, обязательный. Имя функции, сигнала либо поля в выбранном объекте.values: JSON, по умолчаниюNone. Данные выбранной операции. Форма и ограничения описаны ниже; передаваемые JSON-значения копируются.
Результат
JSON. Отправляет сигнал выбранной зависимости без ожидания результата функции.
Права
Нужны modules.call.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
result = await target.emit("status")