1. Основные лимиты
На этой странице собраны ограничения PC-Storage, особенности веб-интерфейса и S3 API, а также наиболее частые ошибки и последовательность их диагностики.
Доступный объем хранилища задается для конкретного аккаунта. В веб-интерфейсе текущий и максимальный объем отображаются в блоке «Статистика», поэтому единого значения квоты для всех пользователей нет.
Другие параметры также могут быть установлены в стандартной версии или увеличены по запросу.
| Параметр | Значение | Комментарий |
|---|---|---|
| Количество запросов | 70 RPS по умолчанию | Расширяемое значение. |
| Скорость загрузки на одного клиента | 240 Мбит/с по умолчанию | Расширяемое значение. |
| Массовое удаление | до 1000 ключей | Лимит списка для одного delete-objects. |
| ListObjects | до 10 000 объектов за запрос | Если объектов больше, используется пагинация. |
| Веб-интерфейс | multipart для объектов от 500 МБ | Большие объекты загружаются по частям. |
| Presigned URL | 3600 секунд по умолчанию | В документации также приведен пример 86400 секунд; максимальный срок не указан. |

2. Ограничения веб-интерфейса
Загрузка объектов
При загрузке объектов в веб-интерфейсе действует ряд правил:
- Для объектов размером от 500 МБ веб-интерфейс использует multipart-загрузку.
- Для больших файлов можно включить параметр «S3 загрузка файлов», тогда при обрыве уже переданные части сохраняются, а загрузку можно продолжить через «Просмотр задач».
- Если этот режим не включен, при ошибке интерфейс удаляет загруженные части и незавершенную multipart-загрузку.
- В именах файлов, загружаемых через веб-интерфейс, не допускаются символы #, &, *, /, :, | и %. Интерфейс предлагает переименовать файл вручную или автоматически.

Имя бакета
Имя бакета должно быть уникальным в системе. При нарушении правил именования API возвращает ошибку Invalid bucket name. Допустимые символы это: латинские буквы, цифры, дефис и точки.
3. Особенности S3 API, которые важно учитывать
| Операция / функция | Особенность |
|---|---|
| HeadBucket | При отсутствии бакета или прав возвращается общий 403 Forbidden без тела ответа; по нему нельзя однозначно отличить две причины. |
| DeleteBucket | Удаляется только пустой бакет. Если в нем есть объекты, возвращается BucketNotEmpty. |
| Bucket Policy | Через API на бакет накладывается одна политика; повторный put-bucket-policy заменяет существующую. |
| Versioning | Поддерживаются состояния Enabled и Suspended. В Suspended новые объекты получают VersionID = null. |
| Object Lock | Для настройки Object Lock на бакете необходимо включить Versioning. |
| S3-ключи | После генерации новой пары старые ключи становятся недействительными; запросы с ними отклоняются со статусом 403 Forbidden. |
4. Типовые ошибки S3 API
| Ошибка | Что означает | Что проверить |
|---|---|---|
| Invalid bucket name | Некорректное имя бакета. | Проверьте формат и уникальность имени. |
| BucketAlreadyOwnedByYou | Бакет с таким именем уже принадлежит вашей учетной записи. | Используйте существующий бакет или выберите другое имя. |
| BucketAlreadyExists | Имя бакета уже занято в системе. | Выберите другое уникальное имя. |
| NoSuchBucket | Указанный бакет не существует. | Проверьте имя бакета и endpoint. |
| BucketNotEmpty | Удаляемый бакет содержит объекты. | Сначала удалите объекты и версии, если они есть. |
| AccessDenied / 403 | Недостаточно прав либо используются недействительные ключи. | Проверьте S3-ключи, IAM, Bucket Policy и нужный ресурс. |
| NoSuchKey | Объект или указанная версия не найдены. | Проверьте key и, при Versioning, VersionID. |
| 404 Not Found | Ресурс не найден либо указан неверный путь/ключ. | Проверьте бакет, key и endpoint. |
| Policy has invalid resource | Некорректный ресурс в Bucket Policy. | Проверьте ARN бакета и объектов. |
| Invalid JSON | Некорректная JSON-конфигурация. | Проверьте синтаксис файла конфигурации. |
| MalformedXML | Некорректная конфигурация Object Lock. | Проверьте структуру передаваемой конфигурации. |
| NoSuchUpload | Multipart-загрузка с таким UploadId не существует или уже завершена. | Проверьте UploadId и состояние загрузки. |
| Access Denied because object protected by object lock | Объект защищен Object Lock. | Проверьте Retention, Legal Hold и права пользователя. |
5. Быстрая диагностика по проблемам
| Проблема | Действия |
|---|---|
| После перевыпуска ключей все запросы дают 403 | Обновите S3 Access Key и S3 Secret Key во всех клиентах и интеграциях. Предыдущая пара после перевыпуска не работает. |
| head-bucket возвращает 403 | Проверьте и существование бакета, и права доступа: этот метод не различает эти причины в теле ответа. |
| Не удается удалить бакет | Убедитесь, что бакет пуст. При Versioning проверьте сохраненные версии и Delete Marker. |
| Не удается удалить объект | Проверьте права и наличие Object Lock / Retention / Legal Hold. |
| Объект не находится | Проверьте точный key. При Versioning дополнительно проверьте VersionID. |
| Bucket Policy не работает | Проверьте Principal, Action, Resource и Effect; отдельное Deny может перекрывать Allow. |
| Multipart Upload не продолжается | Проверьте UploadId. Если загрузка была завершена или удалена, NoSuchUpload является ожидаемым ответом. |
| Presigned URL перестала работать | Проверьте срок действия ссылки. После истечения создайте новую Presigned URL. |
| Большой файл прервался в веб-интерфейсе | Если была включена «S3 загрузка файлов», откройте «Просмотр задач» и возобновите multipart-загрузку. |
