Open3
S3バケットの操作方法

s3_client = Aws::S3::Client.new({region: region})
s3_client.get_object(
response_target: '保存先を指定する。',
bucket: 'バケット名',
key: 'パス'
)
# 変数に格納する
hoge = s3_client.get_object(
bucket: 'バケット名',
key: 'パス'
)

バケットごと取得する場合 list_objects_v2

list_objects_v2は1000件までの取得なので超えたデータが欲しいなら再帰処理が必要
↓これでいけてそう def get_s3_data(s3_client, bucket_name, marker)
get_data = s3_client.list_objects_v2({ bucket: bucket_name, start_after: marker })
get_data.contents.each { |c| @bucket_data << c }
if get_data["is_truncated"]
get_s3_data(s3_client, bucket_name, get_data.contents.last.key)
end
end