Драгоценный камень Ruby Fog: как создавать подкаталоги?

У меня есть

  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')

person RoundOutTooSoon    schedule 30.07.2015    source источник
comment
Насколько я знаю, Amazon S3 не имеет концепции каталогов, это плоская файловая система. Каталоги представлены в пользовательском интерфейсе браузера только для удобства.   -  person Leonid Shevtsov    schedule 30.07.2015
comment
Да, в S3 нет настоящих каталогов, только длинные пути (где в некоторых контекстах префиксы, обозначенные косой чертой, рассматриваются как подкаталоги).   -  person geemus    schedule 03.08.2015


Ответы (1)


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

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

bucket.files.create(
  key: 'user_1_files/',
  body: nil
)
person abaldwin99    schedule 13.09.2016