pandazx's blog

データ分析など雑多な技術ブログ

AWS SDK for Ruby(V2)ですべてのS3オブジェクト一覧取得

以下のようにすると、1000個しか取得できない。

s3 = Aws::S3::Client.new
response = s3.list_objects(bucket: bucket_name)
response.contents.each do |object|
  puts object.key
end 

これはAWS SDKの制限で一度に1000個しか取れないようになっているからである。
すべて取得するにはeachを回す必要がある

s3 = Aws::S3::Client.new
s3.list_objects(bucket: bucket_name).each do |response|
  response.contents.each do |object|
    puts object.key
  end 
end

参考