2013-04-11 32 views

Trả lời

36

Sử dụng tùy chọn prefix trên phương pháp directory.get. Ví dụ:

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 
+1

Có thể đáng lưu ý rằng 'tiền tố' là _actually_ hậu tố, ít nhất là cấu trúc nói. Nếu đường dẫn đến nhóm lồng nhau của bạn là 'foo/bar', thì cuộc gọi phương thức của bạn sẽ là: '.get ('foo', tiền tố: 'bar')'. – pdoherty926

+0

Lưu ý của pdoherty926 hơi khó hiểu nếu bạn không nghĩ tên thùng như là một phần của đường dẫn. – Amir

+1

Có một trường hợp cạnh ở đây gọi '.map' sẽ không trả về TẤT CẢ, nhưng chỉ có một trang được trả về bởi api AWS. Gọi trên các tệp sẽ cho phép Fog quản lý mức tiêu thụ bộ nhớ vì có thể có ALOT tệp. – rposborne