Python SDK: Storage: файлы и ссылки
ctx.storage(code) обращается к заранее подключённому хранилищу. Все операции с файлами и ссылками синхронны.
Примеры являются фрагментами тела def run(ctx):. Все методы SDK синхронны, await не нужен.
Методы
put_from_url
ctx.storage('media').put_from_url(url, key=None, mime=None) -> StoredFile
| Аргумент | Тип | Обязателен | Назначение |
|---|---|---|---|
url |
str |
Да | Разрешённый HTTP(S)-адрес источника. |
key |
str | None |
Нет, default в сигнатуре | Ключ записи, состояния, объекта или входа по назначению метода. |
mime |
str | None |
Нет, default в сигнатуре | MIME-тип сохраняемого файла. |
Результат: StoredFile. Объект SDK: используйте его методы, не передавайте целиком в emit.
Загружает файл по разрешённому адресу в выбранное хранилище. Возвращает StoredFile с данными сохранённого файла.
result = ctx.storage('media').put_from_url(ctx.param('image_url'), 'images/item.jpg')
put
ctx.storage('media').put(key, content, mime='text/plain') -> StoredFile
| Аргумент | Тип | Обязателен | Назначение |
|---|---|---|---|
key |
str | None |
Да | Ключ записи, состояния, объекта или входа по назначению метода. |
content |
str | bytes |
Да | Переданное содержимое; см. ограничения метода. |
mime |
str | None |
Нет, default в сигнатуре | MIME-тип сохраняемого файла. |
Результат: StoredFile. Объект SDK: используйте его методы, не передавайте целиком в emit.
Сохраняет содержимое в выбранном хранилище. Возвращает StoredFile: читайте result.key, result.size, result.dry_run.
result = ctx.storage('media').put('reports/summary.txt', 'Ready', 'text/plain')
exists
ctx.storage('media').exists(key) -> bool
| Аргумент | Тип | Обязателен | Назначение |
|---|---|---|---|
key |
str | None |
Да | Ключ записи, состояния, объекта или входа по назначению метода. |
Результат: bool.
Проверить наличие объекта по ключу.
result = ctx.storage('media').exists('reports/summary.txt')
url
ctx.storage('media').url(key, ttl_seconds=3600) -> str
| Аргумент | Тип | Обязателен | Назначение |
|---|---|---|---|
key |
str | None |
Да | Ключ записи, состояния, объекта или входа по назначению метода. |
ttl_seconds |
int |
Нет, default в сигнатуре | Срок временной ссылки в секундах. |
Результат: str.
Получить временную подписанную ссылку на объект.
result = ctx.storage('media').url('reports/summary.txt', 3600)
Ошибки и контекст выполнения
Все вызовы синхронны. Неверный аргумент или формат данных может вызвать ValueError/TypeError; отказ платформы или недоступность сервиса вызывает RuntimeError. Отсутствие элемента/значения даёт None либо пустой список только там, где это явно описано. Не превращайте любое исключение в пустой успешный результат. Методы внешних сервисов недоступны в преобразовании выгрузки; см. ограничения преобразований и среду.