Подтвердить что ты не робот

Как перечислить все файлы в папке S3 с помощью Fog in Ruby

Как мне перечислить все файлы в конкретном S3-каталоге с помощью Fog?

Я знаю, что S3 не хранит файлы в папках, но мне нужен способ ограничить возвращаемые файлы определенной папкой вместо того, чтобы извлекать весь список в ведре.

4b9b3361

Ответ 1

Используйте параметр prefix в методе directory.get. Пример:

def get_files(path, options)
  connection = Fog::Storage.new(
    provider: 'AWS',
    aws_access_key_id: options[:key],
    aws_secret_access_key: options[:secret]
  )
  connection.directories.get(options[:bucket], prefix: path).files.map do |file|
    file.key
  end
end