Перейти к основному содержимому

Об объектах

Объекты — это пользовательские данные, которые хранятся в бакетах. Каждый объект содержит данные произвольного формата в том виде, в котором они были загружены.

Особенности

При работе с объектами учитывайте следующее:

  • имена объектов и их префиксы могут содержать символы, допустимые в кодировке 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)