我有一个脚本,它接受一个文件,操作一些数据,并写入一个输出 .csv 文件。.csv 文件应该可供用户查看和下载。这是 Heroku 上带有 S3 的 rails 应用程序。
现在脚本“逐行”写入硬编码的本地文件系统输出文件。当我将此脚本与 rails、heroku 和 amazon S3 集成时,我是否必须重组脚本以在控制器中逐行构建数组并将其作为一个整体写入 S3?还是我像在本地一样继续逐行写入 S3?
看来我需要在控制器中构建一个数组并发布到 S3?然后控制器“显示”操作将引用该文件以获取视图中使用的实例变量。几乎让我想知道用户是否可以只在客户端制作 csv 而不必制作文件来存储在 S3 上?这是 AJAX 的工作吗?
我现在正在查看 aws-sdk 以访问该文件,就像我访问本地系统上的任何其他文件一样。
原样的粗略示例,每行代码编写:
file_in.each_line do |line|
#some line manipulation
file_out << output
end
轻松切换此代码以构建数组然后编写一次......我最初是逐行编写的,所以我没有将整个文件放在一个大数组中......
file_in.each_line do |line|
#some line manipulation
@array.push(output)
end
file_out << @array