Создание подобия файловой структуры в "бакете" S3

Хранилище S3 не обладает иерархической файловой системой, как в Unix. Файловая система в «бакете» (bucket) S3 плоская. Кроме того, в хранилище S3 нет такого понятия как файл или каталог, здесь есть «объекты». Все объекты располагаются друг за другом и им присвоены названия в алфавитном порядке.
Но создать в bucket S3 некоторое подобие файловой системы всё-таки можно: используя префиксы для организации данных хранящихся в бакетах. Поясним подробнее:
Каждому объекту можно назначить имя ключа. Имя ключа имеет префикс. Префикс — это строка символов в начале имени ключа объекта. Префикс может быть любой длины в зависимости от максимальной длины имени ключа объекта. Можно сказать, что префикс выступает как некий способ организации данных, подобных каталогам. Однако префиксы не являются каталогами. Также есть разделитель, аналог разделителя в файловой системе UNIX: ( \ ).
Поиск объектов по префиксу приведёт вас к объектам, имя ключей которых начинается с этого префикса. Если будете искать объекты по разделителю, то увидите объекты, сгруппированные по общему префиксу (Common Prefixes) в имени ключа этих объектов. Назначение префикса и разделителя поможет вам упорядочить, а затем иерархически просматривать ключи.
Для начала выберите разделитель сегмента, который не будет встречаться ни в одном имени ключей объектов, создаваемых вами. Использовать можно любой разделитель. Например “ \ ” (это не является уникальным разделителем, просто распространённый) . Создайте имена ключей объектов по иерархическому принципу, соединив все содержащиеся уровни иерархии, разделив каждый уровень разделителем. Например, если вы храните информацию о городах, то можете естественным образом упорядочить их по континентам, затем по странам, затем по провинциям или штатам. Так как в имени городов обычно нет символа «\» , то можно использовать его в качестве разделителя. Например:
Russia\Yaroslavskaya_obl\Yaroslavl
Russia\Moskowskaya_obl\Mosсow
Чтобы перечислить в бакете только объекты корневого уровня, вы отправляете запрос GET в bucket с символом-разделителем косой черты ( / ) .

  • 0 Пользователи нашли это полезным
Помог ли вам данный ответ?

Связанные статьи

Как начать работу с S3 Cloud4y используя AWS Command Line Interface (CLI)

1) Устанавливем AWS CLI - На Windows, загружаем  AWSCLI-64  или  AWSCLI-32 разрядный установщик...

Доступ в S3 из панели управления облаком VCD

Благодаря наличию плагина VMware vCloud Director® Object Storage Extension™ пользователям Cloud4y...

Способы работы с объектным хранилищем через различное программное обеспечение

Подготовка идентификационных данных 1. Авторизуйтесь в объектном хранилище Cloud4Y:...

Как начать работу с объектным хранилищем

ОБЪЕКТНОЕ ХРАНИЛИЩЕ ОТ CLOUD4Y Наше объектное хранилище построено на платформе компании Cloudian...

Ограничения S3 Cloud4Y

Бакет S3 принадлежит учетной записи Cloud4Y, которая её создала. Владение "бакетом" не может быть...