Presigned URL – это временная предподписанная ссылка для конкретной операции с S3-объектом, она содержит параметры, необходимы для выполнения конкретной операции с объектом в течение заданного времени. В PC-Storage можно создать ссылку на загрузку объекта в выбранный бакет или на скачивание уже существующего объекта, не передавая получателю постоянные S3 Access Key и S3 Secret Key. Получателю ссылки не нужно передавать постоянную пару ключей доступа к S3.
| Тип ссылки | Операция | Что задается при создании |
|---|---|---|
| Presigned upload URL | Загрузка нового объекта | Бакет, ключ будущего объекта, тип файла и срок действия ссылки |
| Presigned download URL | Скачивание существующего объекта | Выбранный объект и срок действия ссылки |
Срок действия: для параметра —expires-in значение по умолчанию 3600 секунд (1 час), но его можно изменить, например, на 86400 секунд (24 часа) и так далее.
1. Presigned upload URL: временная ссылка на загрузку
В веб-интерфейсе PC-Storage ссылка на загрузку создается на уровне выбранного бакета. Заранее определяется ключ, под которым объект будет сохранен, тип файла и срок действия ссылки.
Создать ссылку через веб-интерфейс
- Откройте S3-хранилище и выберите бакет, в который должен быть загружен объект.
- В правой панели разверните раздел «Presigned upload URL».
- В поле ключа укажите имя или путь будущего объекта, например documents/report.pdf.
- Укажите тип файла (Content-Type, тип содержимого). Если в имени указан известный формат после точки, интерфейс может подобрать тип автоматически.
- Выберите срок действия ссылки.
- Скопируйте сформированную ссылку. После выбора срока действия интерфейс также копирует ее в буфер обмена автоматически.

Ключ объекта: ключ задается до генерации ссылки. Именно под этим ключом загруженный файл будет размещен в бакете.
Пример сценария
Приложению или внешнему пользователю нужно передать один файл в определенный бакет, но выдавать ему постоянные S3-ключи не требуется. В этом случае создайте Presigned upload URL для конкретного ключа и передайте только сформированную временную ссылку.
2. Presigned download URL: временная ссылка на скачивание
Ссылка на скачивание формируется для уже существующего объекта. Перед генерацией выберите нужный объект в бакете.
Создать ссылку через веб-интерфейс
- Откройте бакет и выберите объект.
- В правой панели разверните раздел «Presigned download URL».
- Выберите срок действия ссылки.
- Скопируйте сформированную ссылку. После выбора срока действия она также автоматически копируется в буфер обмена.

Пример сценария
Нужно временно передать файл пользователю или приложению без предоставления доступа к бакету и без передачи постоянных ключей S3. Сформируйте ссылку на нужный объект и задайте срок, достаточный для скачивания.
3. Создание Presigned URL через AWS CLI
Далее описывается создание предподписанных ссылок через AWS CLI.
Ссылка на скачивание
aws s3 presign s3://example-bucket/image1.webp \ --endpoint-url=https://eu-s3.platformcraft.com \ --expires-in 3600
Команда возвращает URL с подписанными параметрами. В документации значение 3600 секунд используется как стандартный срок жизни ссылки.
https://eu-s3.platformcraft.com/example-bucket/image1.webp?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=3600&X-Amz-Signature=...
Ссылка на загрузку
Для загрузки используйте следующий формат вызова:
aws s3 presign s3://example-bucket/path/to/object/image1.png \ --expires-in 3600
Content-Type: в описании presign-upload указано, что Content-Type задается в сформированной ссылке при загрузке. Значение должно соответствовать типу передаваемого файла.
4. Параметры
Ключевые параметры:
- bucket – имя бакета.
- key – ключ объекта (идентификатор, под которым объект хранится в S3)
- . —expires—in – срок жизни ссылки в секундах. В документации: 3600 секунд по умолчанию; 86400 секунд приведены как пример.
- Content—Type – тип содержимого загружаемого объекта; используется для upload-ссылки.
Примеры Content-Type
- application/pdf
- application/vnd.openxmlformats-officedocument.wordprocessingml.document
- image/jpeg
- image/png
- image/webp
- video/mp4
- application/zip
- application/octet-stream (бинарный файл или неизвестный формат)
5. Ограничения и рекомендации
- После истечения выбранного срока необходимо сформировать новую ссылку.
- Upload-ссылка создается для заранее указанного ключа объекта.
- Download-ссылка создается для выбранного существующего объекта.
- Для upload-ссылки учитывайте Content-Type загружаемого файла.
- Не передавайте постоянные S3 Access Key и S3 Secret Key вместе с Presigned URL: для работы по ссылке они получателю не нужны.
- Не размещайте действующую Presigned URL в открытом доступе. До истечения срока она предоставляет предусмотренную ссылкой возможность работы с объектом.
6. Если ссылка не работает
| Ситуация | Что проверить |
|---|---|
| Ссылка перестала работать | Проверьте срок действия. Если он истек, создайте новую ссылку. |
| Upload не выполняется | Проверьте ключ объекта, срок действия и Content-Type. |
| Download не выполняется | Проверьте, что выбранный объект по-прежнему существует и срок ссылки не истек. |
| Ссылка не появилась в буфере обмена | Скопируйте ее вручную из поля в интерфейсе. |
