Храните и обслуживайте файлы с помощью JavaScript SDK.
Ежедневные потоки aura.storage с правилами доступа, соблюдаемыми для работающего стека.
1. Ведра
Корзина группирует файлы и решает, являются ли они общедоступными. Для создания и удаления сегментов требуется ключ service_role. Для их просмотра требуется вошедший в систему пользователь или ключ service_role; только открытый ключ получает 403.
Корзина также принимает fileSizeLimit (в байтах) и allowedMimeTypes. Слишком большая загрузка возвращает 413, а недопустимый тип возвращает 400.
2. Загрузить, скачать, перечислить, удалить
Чего ожидать:
- При загрузке существующего пути возвращается
409, если вы не передадитеupsert: true. - Для загрузки требуется вошедший в систему пользователь или ключ
service_role. Только открытый ключ получает403даже для общедоступного сегмента. - Путь с
..отклоняется с400. - Пути являются общими внутри сегмента. Если у другого пользователя уже есть путь, вы получаете
409. Поместите файлы каждого пользователя в отдельную папку, например${user.id}/….
3. Поделитесь файлом
Обе ссылки были получены без какого-либо ключа и вернули файл. Подписанная ссылка перестает работать через expires_in секунд. Чтобы разрешить браузеру загрузку без ключа, сервер создает createSignedUploadUrl(path) (вызов service_role).
4. Кто что может делать
| Действие | Открытый ключ | Вошедший пользователь | service_role |
|---|---|---|---|
| Чтение файла в общедоступной корзине | да | да | да |
| Чтение, размещение файла в частной корзине | нет | только его владелец | да |
| Загрузить | нет | да | да |
| Заменить или удалить файл | нет | только его владелец | да |
| Получение списка сегментов | нет | да | да |
| Создание, удаление сегментов | нет | нет | да |
Владельцем является пользователь, загрузивший файл. При реальном запуске второй пользователь не мог просмотреть, загрузить или удалить файл первого пользователя в частной корзине, а также не смог его заменить.
5. Перемещение и копирование с сервера
Изменение размера изображения описано в справочнике по хранилищу.