Skip to content

Обзор

Данные в Object Storage хранятся в виде объектов. Объектом может быть все, что угодно: текстовые документы, изображения, аудио- и видеофайлы, и т.п. Все объекты хранятся в бакетах. Объекты можно загрузить в бакет через веб-консоль, через API, SDK, а также с помощью утилит командной строки.

Общая информация

Объект – это загруженный в Object Storage файл и его метаданные.

У каждого объекта есть:

  • имя (включая префикс);
  • данные — содержимое объекта. Объем данных ничем не ограничен;
  • метаданные — набор пар "ключ — значение", которые описывают атрибуты объекта — например, дату создания, автора или размер. Подробнее см. в статье Управление метаданными объектов;
  • идентификатор версии — уникальный идентификатор, которые присваивается каждой версии объекта в версионированном бакете.

Именование объектов

У каждого объекта есть уникальный идентификатор, которые отличает его от других объектов в том же бакете — имя.

Для более удобного структурирования в именах можно использовать разделители — например, myfolder1/myobject1или myfolder1/myfolder2/myobject1. Имя объекта (включая содержащиеся в нем разделители) в терминологии Object Storage называется ключом объекта.

Внешне ключ объекта ничем не отличается от пути в иерархических файловых системах. При этом папок в буквальном смысле в Object Storage нет: это абстракция, упрощающая работу с объектами. Однако вы можете имитировать работу с папками, чтобы сделать взаимодействие с Object Storage более удобным для пользователя.

Имя объекта должно отвечать следующим требованиям:

  • иметь формат UTF-8;
  • иметь длину от 1 до 1023 байт;
  • не содержать символов : %;
  • префикс объекта не может начинаться с символов / и \.

Доступ к объектам по ссылкам

Ссылка на объект, к которому открыт публичный доступ, имеет один из следующих форматов:

  • http(s)://storage.mwsapis.ru/<имя бакета>/<ключ объекта>;
  • http(s)://<имя бакета>.storage.mwsapis.ru/<ключ объекта>.

В бакетах с ограниченным доступом в ссылку добавляются дополнительные параметры (подпись, время действия ссылки, список подписанных заголовков и другие):

  • http(s)://storage.mwsapis.ru/<имя бакета>/<ключ объекта>?<параметры>;
  • http(s)://<имя бакета>.storage.mwsapis.ru/<ключ объекта>?<параметры>.

Особенности и ограничения

  • Максимальный размер объекта, который можно загрузить за одну операцию, составляет 5ГБ.
  • В имени объекта и префиксах можно использовать допустимые символы в кодировке ASCII или UTF-8. Длина имени вместе со всеми префиксами не должна превышать 1024 байта в UTF-8 кодировке.
  • Папок в Object Storage нет. Вы можете имитировать работу с папками, чтобы обеспечить удобство использования ваших приложений и сервисов.

Доступные операции с объектами

ОперацияКомментарий
Простая загрузкаЗа одну операцию вы можете загрузить в бакет любой объект размером до 5ГБ. Объект можно загрузить через веб-консоль, через API, а также с помощью специализированных утилит.
Составная загрузкаОбъекты большого размера загружаются не целиком, а по частям. По завершении загрузки части можно объединить в целостный объект.
Получение списка объектовВы можете получить список объектов, которые хранятся в выбранном бакете. В список могут быть включены как все объекты, так и объекты, соответствующие заданным критериям: например, с определенным префиксом в имени или с определенными метаданными.
КопированиеОбъекты можно копировать из одного бакета в другой. Также вы можете копировать объекты внутри бакета
ПеремещениеОбъекты можно перемещать из одного бакета в другой. Также вы можете перемещать объекты внутри бакета
ПереименованиеИмя объекта всегда можно при необходимости изменить
УдалениеВы можете удалить из бакета объекты, которые вам больше не нужны
Добавление теговОбъекты можно помечать тегами. Это бывает полезно при выполнении массовых операций: например, если вам требуется устанавливать общие правила жизненного цикла
Добавление метаданныхК объектам в Object Storage можно добавлять любую дополнительную информацию в виде метаданных
Генерация ссылки для доступа к объектуВы можете сгенерировать ссылку, по которой любой пользователь может получить доступ к объекту
Управление жизненным циклом объектовВы можете установить для объектов срок хранения, по окончании которого они будут удалены