Объект – файл, сохраненный в S3-бакете под определенным ключом. В S3 нет каталогов в привычном для файловой системы смысле, поэтому веб-интерфейс показывает лишь структуру папок для удобства, а фактически объекты хранятся в плоском пространстве имен, где путь является частью ключа.
Ключ объекта: уникально определяет объект внутри бакета. Например, ключ documents/report.pdf визуально может отображаться как файл report.pdf в папке documents.
Что видно при выборе объекта
В правой панели веб-интерфейса отображаются имя и размер объекта, его ключ и дата последнего изменения. Для временной ссылки на скачивание используется отдельный раздел документации Presigned URL.

1. Загрузка объекта
Через веб-интерфейс
- Откройте нужный бакет.
- Нажмите «Загрузить» в правой верхней части страницы.
- Выберите файл на локальном устройстве или перетащите его в область загрузки.
- Дождитесь окончания передачи и убедитесь, что объект появился в бакете.

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


Через AWS CLI: put-object
Метод put-object загружает объект и его метаданные в Object Storage:
aws s3api put-object --bucket example-bucket --key documents/report.pdf --body /path/to/report.pdf --endpoint-url=https://eu-s3.platformcraft.com
Успешный ответ содержит ETag загруженного объекта:
{
"ETag": "\"e3e22b84acfc081c7dff7321ba911354\""
}
| Параметр | Назначение |
|---|---|
| bucket | Имя бакета. |
| key | Ключ, под которым объект будет сохранен. |
| body | Путь к локальному файлу, передаваемому в команде AWS CLI. |
Object Lock: put-object также поддерживает параметры object-lock-mode и object-lock-retain-until-date. Их использование разобрано в отдельной странице «Версионирование и защита объектов: Versioning и Object Lock».
2. Скачивание объекта
Через веб-интерфейс
Выберите объект в бакете. На панели «Возможные действия» доступны скачивание, переименование, копирование и удаление. Действия, кроме переименования, можно выполнять сразу с несколькими выбранными объектами.

Через AWS CLI: get-object
Метод возвращает объект и сведения о нем:
aws s3api get-object --bucket example-bucket --key documents/report.pdf --endpoint-url=https://eu-s3.platformcraft.com ./report.pdf
В ответе могут быть указаны LastModified, ContentLength, ETag, ContentType, Metadata и StorageClass.
Версии: если требуется получить конкретную версию объекта, в get-object можно передать version-id.
3. Просмотр метаданных
Чтобы получить метаданные без скачивания содержимого объекта, используйте head-object.
aws s3api head-object --bucket example-bucket --key documents/report.pdf --endpoint-url=https://eu-s3.platformcraft.com
Пример ответа:
{
"LastModified": "2026-09-29T10:30:00+00:00",
"ContentLength": 391168,
"ETag": "\"e3e22b84acfc081c7dff7321ba911354\"",
"ContentType": "application/pdf",
"Metadata": {},
"StorageClass": "STANDARD"
}
4. Копирование объекта
Через веб-интерфейс выберите объект и используйте действие копирования. Через S3 API копирование выполняется методом copy-object, где указываются бакет назначения, новый ключ и источник копирования.
aws s3api copy-object --bucket example-bucket --key archive/report-copy.pdf --copy-source example-bucket/documents/report.pdf --endpoint-url=https://eu-s3.platformcraft.com
Успешный ответ содержит ETag и время последнего изменения скопированного объекта.
{
"CopyObjectResult": {
"ETag": "\"e3e22b84acfc081c7dff7321ba911354\"",
"LastModified": "2026-09-29T10:35:00+00:00"
}
}
5. Удаление объектов
Удалить один объект
aws s3api delete-object --bucket example-bucket --key documents/report.pdf --endpoint-url=https://eu-s3.platformcraft.com
Если Versioning отключен, объект удаляется обычным образом. В бакете с включенным Versioning удаление без version-id устанавливает Delete Marker, а предыдущая версия остается в хранилище.
Защищенный Object Lock объект может не удаляться. Подробнее вы можете узнать в руководстве по Versioning и Object Lock.
Удалить несколько объектов
delete-objects удаляет объекты по списку ключей и выполняется быстрее, чем последовательное удаление каждого объекта отдельным запросом. В одном запросе можно передать не более 1000 ключей.
aws s3api delete-objects --bucket example-bucket --delete '{"Objects":[{"Key":"file-1.pdf"},{"Key":"file-2.pdf"}]}' --endpoint-url=https://eu-s3.platformcraft.com
Если ключа нет: в исходной документации указано, что при массовом удалении отсутствующий объект в ответе отмечается как удаленный.
6. Получение списка объектов
В веб-интерфейсе содержимое отображается после открытия бакета. Через API доступны list-objects и list-objects-v2.
list-objects
aws s3api list-objects --bucket example-bucket --max-items 5 --endpoint-url=https://eu-s3.platformcraft.com
При выдаче используется пагинация: за один запрос в документации указано получение списка не длиннее 10 000 объектов. Для более длинного списка выполняются последующие запросы.
| Параметр | Назначение |
|---|---|
| --max-items | Количество объектов, выводимых при листинге. |
| prefix | Возвращает объекты, ключ которых начинается с указанного префикса. |
| delimiter | Используется как разделитель в ключах; объекты попадают в Contents, а визуальные «директории» - в CommonPrefixes. |
list-objects-v2
aws s3api list-objects-v2 --bucket example-bucket --endpoint-url=https://eu-s3.platformcraft.com
Метод возвращает содержимое бакета во второй версии операции листинга. Для работы с версиями объектов используется отдельный метод list-object-versions.
7. Типовые ошибки
| Ошибка | Что проверить |
|---|---|
| NoSuchKey | Ключ объекта и, если используется Versioning, VersionID. |
| 404 при HeadObject | Ключ объекта и имя бакета. |
| AccessDenied | Права доступа к бакету/объекту и корректность выбранного бакета. |
| Could not connect to the endpoint URL | Endpoint S3. |
| Error parsing parameter '--body' | Путь к локальному файлу в put-object. |
| InvalidRequest: object protected by object lock | Наличие Object Lock / Retention / Legal Hold у объекта. |
Быстрая диагностика: если объект не находится, сначала проверьте точное имя бакета и ключ. Если операция возвращает AccessDenied, дополнительно проверьте IAM и Bucket Policy. Если объект нельзя удалить, проверьте Versioning и Object Lock.
