Cluster · разработчикам

ExchangeRequest

Подготовленный запрос обмена конкретным ресурсом. Не даёт доступ до одобрения получателем.

Все методы SDK · Типы и ошибки

Получение объекта

request = app.exchange("peer-id", "module-id").use("data", "notes")

__init__

Создаёт ExchangeRequest. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.

def __init__(exchange: Exchange, peer: str, module: str | None, slot: str | None = 'main') -> None: ...

Аргументы

Результат

None. Создаёт ExchangeRequest. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

# Обычный способ получения объекта:
request = app.exchange("peer-id", "module-id").use("data", "notes")

use

Выбирает ресурс data, text, file или event и его ключ либо ID объекта.

def use(kind: str, key: str | File) -> Self: ...

Аргументы

Результат

Self. Тот же объект после успешной операции. Выбирает ресурс data, text, file или event и его ключ либо ID объекта.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

result = request.use("data", "notes")

mode

Выбирает permanent, once или group; для группового режима передаётся имя группы.

def mode(value: str, group: str | None = None) -> Self: ...

Аргументы

Результат

Self. Тот же объект после успешной операции. Выбирает permanent, once или group; для группового режима передаётся имя группы.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

request.mode("permanent")

direction

Выбирает send или receive относительно инициатора договора.

def direction(value: str) -> Self: ...

Аргументы

Результат

Self. Тот же объект после успешной операции. Выбирает send или receive относительно инициатора договора.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

request.direction("receive")

fields

Устанавливает схему передаваемых полей из JSON или объекта с build().

def fields(value: Fields | dict[str, JSON]) -> Self: ...

Аргументы

Результат

Self. Тот же объект после успешной операции. Устанавливает схему передаваемых полей из JSON или объекта с build().

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

result = request.fields({})

request

Отправляет запрос один раз и возвращает договор. После неизвестного результата повторная автоматическая отправка запрещена.

async def request() -> Agreement: ...

Аргументы

Нет.

Результат

Agreement. Отправляет запрос один раз и возвращает договор. После неизвестного результата повторная автоматическая отправка запрещена.

Права

Нужны exchange.request.

Ошибки

Пример

result = await request.request()