Об объектах
Объекты — это пользовательские данные, которые хранятся в бакетах. Каждый объект содержит данные произвольного формата в том виде, в котором они были загружены.
Особенности
При работе с объектами учитывайте следующее:
- имена объектов и их префиксы могут содержать символы, допустимые в кодировке ASCII или UTF-8. Общая длина имени, включая префиксы, не должна превышать 1024 байта в UTF-8;
- в Object Storage отсутствует иерархия папок, однако, вы можете имитировать структуру каталогов, чтобы упростить организацию данных и работу с ними в приложениях и интерфейсах;
- максимальное количество тегов на объект — 10 пар. Ключ ≤128 символов, значение ≤256 символов.
Требования к именам объектов
К наименованию объектов применяются следующие ограничения:
- имя должно быть в кодировке UTF-8;
- длина — от 1 до 1023 байт;
- нельзя использовать символы
:%; - имя не должно начинаться с
/или\.
Работа с папками
В объектном хранилище S3 отсутствует иерархическая файловая система, как у традиционных файловых хранилищ. Все объекты размещаются в едином пространстве — без настоящих папок и подкаталогов.
Как эмулировать структуру папок
Чтобы визуально организовать объекты в папки, используйте ключи (имена объектов), включающие косую черту / в качестве разделителя.
Примеры
- documents/ — пустой объект с именем, оканчивающимся на
/, будет отображаться как папка documents; - documents/report.pdf — объект будет показан как файл внутри папки documents.
Для создания «вложенных папок» достаточно использовать дополнительную вложенность в ключе:
documents/archive/2023/file.docx
В данном случае в интерфейсе вы увидите структуру:
documents → archive → 2023 → file.docx
Добавление объекта в «папку»
aws s3 cp ./file.txt s3://<bucket_name>/folder/file.txt
Эта команда создаст объект с ключом folder/file.txt, который будет отображаться как файл внутри папки folder.
Требования к «именам папок»
Хотя папки в объектном хранилище S3 — это просто префиксы в имени объекта, к ним применяются те же ограничения:
- имя должно быть в кодировке UTF-8;
- длина от 1 до 1023 байт;
- нельзя использовать символы
: * ? " < > | !; - имя не должно начинаться с
/или\.
Для добавления объекта в бакет см. инструкцию Загрузить объект в бакет. Для составной загрузки см. инструкцию Составная загрузка (multipart)