2015-07-30 5 views
4

У меня естьRuby Fog gem: как создать подкаталоги?

connection = Fog::Storage.new(fog_config) 
    bucket  = connection.directories.get(bucket_name) 

Есть ли способ (документально, не документированы, обходные) для меня, чтобы создать каталоги внутри этого ведра? Что-то вроде:

sub_dir_for_user_1 = bucket.create_sub_dir('/user_1_files') 
sub_dir_for_user_2 = bucket.create_sub_dir('/user_2_files') 
+2

AFAIK Amazon S3 не имеет концепции каталогов, это плоская файловая система. Каталоги представлены только в пользовательском интерфейсе браузера для удобства. –

+1

Да, в S3 нет истинных каталогов, только длинные пути (где в некоторых контекстах префиксы, обозначенные слэшами, обрабатываются подкаталогами типа). – geemus

ответ

2

В файлах с нулевым байтом S3 с конечной косой чертой создается псевдокаталог. Это приведет к появлению папок в пользовательском интерфейсе AWS Browser.

Для тумана, проходящего ноль в аргументе body, создается пустой файл. Таким образом, следующий код создаст подкаталог ...

bucket.files.create(
    key: 'user_1_files/', 
    body: nil 
)