Обзор
Данные в 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 можно добавлять любую дополнительную информацию в виде метаданных |
| Генерация ссылки для доступа к объекту | Вы можете сгенерировать ссылку, по которой любой пользователь может получить доступ к объекту |
| Управление жизненным циклом объектов | Вы можете установить для объектов срок хранения, по окончании которого они будут удалены |