RubyでS3にあるファイル一覧を取得する
既にリリースしているものを止めるわけにはいかないので、そのままやることにしました。。
require 'aws-sdk-v1' AWS.config({access_key_id:'アクセスキー', secret_access_key:'シークレットキー'}) s3 = AWS::S3.new path = "フォルダのパス" buckets = s3.buckets["バケット名"] buckets.objects.with_prefix("#{path}").each do |file| puts "file name: #{file.key}" end
ファイル一覧をループで取得します。
フォルダの中身を見るためにはwith_prefixが必要らしいです。
aws-sdk-v2だとまた変わってくるので注意!
ここから取り出したファイルの中身を見るなら
puts "file name: #{file.key}" content = buckets.objects[file.key].read
で一気に中身が見れます。
ログファイルを取り出す時に使用したので、json形式にしてパースするなども可能です。